diff options
Diffstat (limited to 'source/slang/lower.cpp')
| -rw-r--r-- | source/slang/lower.cpp | 17 |
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); |
