summaryrefslogtreecommitdiffstats
path: root/source/slang/lower.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/lower.cpp')
-rw-r--r--source/slang/lower.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/slang/lower.cpp b/source/slang/lower.cpp
index 6d848062c..b620a7837 100644
--- a/source/slang/lower.cpp
+++ b/source/slang/lower.cpp
@@ -956,6 +956,23 @@ struct LoweringVisitor
return LoweredExpr(loweredExpr);
}
+ LoweredExpr visitOverloadedExpr(
+ OverloadedExpr* expr)
+ {
+ // The presence of an overloaded expression in the output
+ // means that some amount of semantic checking failed.
+ // Thus we don't need to worry about semantically transforming
+ // the expression itself, but we *do* want to ensure that any
+ // of the declarations that the user might have been referring
+ // to get lowered so they will appear in the output.
+ for (auto item : expr->lookupResult2.items)
+ {
+ translateDeclRef(item.declRef);
+ }
+
+ return expr;
+ }
+
Name* getName(String const& text)
{
return shared->compileRequest->getNamePool()->getName(text);