From d655302465457c5d3285ae5339201a0769cc38dc Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 5 Sep 2024 11:24:19 -0700 Subject: Support `where` clause and type equality constraint. (#4986) * Support `where` clause. * Fix. * Fix parser. * Enhance test to cover traditional __generic syntax. * Update user-guide. * Support `where` clause on associatedtype. * Fix. * Put in more comments. --- source/slang/slang-language-server-ast-lookup.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/slang/slang-language-server-ast-lookup.cpp') diff --git a/source/slang/slang-language-server-ast-lookup.cpp b/source/slang/slang-language-server-ast-lookup.cpp index 2d6ed2568..06b7c937f 100644 --- a/source/slang/slang-language-server-ast-lookup.cpp +++ b/source/slang/slang-language-server-ast-lookup.cpp @@ -717,6 +717,14 @@ bool _findAstNodeImpl(ASTLookupContext& context, SyntaxNode* node) ASTLookupExprVisitor visitor(&context); if (visitor.dispatchIfNotNull(typeConstraint->getSup().exp)) return true; + if (auto genTypeConstraint = as(node)) + { + if (genTypeConstraint->whereTokenLoc.isValid()) + { + if (visitor.dispatchIfNotNull(genTypeConstraint->sub.exp)) + return true; + } + } } else if (auto typedefDecl = as(node)) { -- cgit v1.2.3