summaryrefslogtreecommitdiff
path: root/source/slang/slang-language-server-ast-lookup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-language-server-ast-lookup.cpp')
-rw-r--r--source/slang/slang-language-server-ast-lookup.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/slang/slang-language-server-ast-lookup.cpp b/source/slang/slang-language-server-ast-lookup.cpp
index 433047741..e9c5f8fe5 100644
--- a/source/slang/slang-language-server-ast-lookup.cpp
+++ b/source/slang/slang-language-server-ast-lookup.cpp
@@ -411,6 +411,24 @@ public:
return dispatchIfNotNull(expr->originalExpr);
}
bool visitModifiedTypeExpr(ModifiedTypeExpr* expr) { return dispatchIfNotNull(expr->base.exp); }
+ bool visitFuncTypeExpr(FuncTypeExpr* expr)
+ {
+ for(const auto& t : expr->parameters)
+ {
+ if(!dispatchIfNotNull(t.exp))
+ return false;
+ }
+ return dispatchIfNotNull(expr->result.exp);
+ }
+ bool visitTupleTypeExpr(TupleTypeExpr* expr)
+ {
+ for(auto t : expr->members)
+ {
+ if(dispatchIfNotNull(t.exp))
+ return true;
+ }
+ return false;
+ }
bool visitTryExpr(TryExpr* expr) { return dispatchIfNotNull(expr->base); }
bool visitHigherOrderInvokeExpr(HigherOrderInvokeExpr* expr)
{