summaryrefslogtreecommitdiff
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.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index a14ed38d8..0f744997d 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -1496,13 +1496,12 @@ namespace Slang
}
}
- auto initExpr = getInitExpr(m_astBuilder, declRef);
- if(!initExpr)
+ if (!getInitExpr(m_astBuilder, declRef))
return nullptr;
ensureDecl(declRef.decl, DeclCheckState::Checked);
ConstantFoldingCircularityInfo newCircularityInfo(decl, circularityInfo);
- return tryConstantFoldExpr(initExpr, &newCircularityInfo);
+ return tryConstantFoldExpr(getInitExpr(m_astBuilder, declRef), &newCircularityInfo);
}
IntVal* SemanticsVisitor::tryConstantFoldExpr(
@@ -1546,12 +1545,7 @@ namespace Slang
// it is possible that we are referring to a generic value param
if (auto declRefExpr = expr.as<DeclRefExpr>())
{
- auto checkedExpr = as<DeclRefExpr>(CheckTerm(expr.getExpr()));
- if (!checkedExpr)
- return nullptr;
-
- SubstExpr<DeclRefExpr> substExpr(checkedExpr, expr.getSubsts());
- auto declRef = getDeclRef(m_astBuilder, substExpr);
+ auto declRef = getDeclRef(m_astBuilder, declRefExpr);
if (auto genericValParamRef = declRef.as<GenericValueParamDecl>())
{