summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-expr.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-09-18 13:46:20 -0700
committerGitHub <noreply@github.com>2024-09-18 13:46:20 -0700
commit2d83875f4b376f047c4541a6f6c13d36e5aa228b (patch)
treeba41c6faa6e97b6821ac8ea635f2ae52ca8d1f4c /source/slang/slang-check-expr.cpp
parent85b996a75683b5364456d731a9cb4aee5c3fada2 (diff)
Add `IRWArray` interface, and make StructuredBuffer conform to them. (#5097)
* Add `IRWArray` interface, and make StructuredBuffer conform to them. * Update user guide. * Fix. * Fixes.
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
-rw-r--r--source/slang/slang-check-expr.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index 3414c16b5..8f24ec5b0 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -1401,7 +1401,15 @@ namespace Slang
Expr* SemanticsVisitor::CheckTerm(Expr* term)
{
+ // If we have already checked the expr, don't check again.
+ if (term->checked)
+ {
+ return term;
+ }
+
auto checkedTerm = _CheckTerm(term);
+ checkedTerm->checked = true;
+
// Differentiable type checking.
// TODO: This can be super slow.
if (this->m_parentFunc &&