summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
-rw-r--r--source/slang/slang-check-expr.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index cfcb15269..a14ed38d8 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -1546,7 +1546,12 @@ namespace Slang
// it is possible that we are referring to a generic value param
if (auto declRefExpr = expr.as<DeclRefExpr>())
{
- auto declRef = getDeclRef(m_astBuilder, declRefExpr);
+ auto checkedExpr = as<DeclRefExpr>(CheckTerm(expr.getExpr()));
+ if (!checkedExpr)
+ return nullptr;
+
+ SubstExpr<DeclRefExpr> substExpr(checkedExpr, expr.getSubsts());
+ auto declRef = getDeclRef(m_astBuilder, substExpr);
if (auto genericValParamRef = declRef.as<GenericValueParamDecl>())
{