diff options
| author | Yong He <yonghe@outlook.com> | 2024-08-30 16:32:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-30 16:32:34 -0700 |
| commit | 24df5515d6c2f8537683d0e48d27a161c394e7cd (patch) | |
| tree | bbe71d5622514da5d7b60a55906adadf08f66639 /source/slang/slang-lookup.cpp | |
| parent | 49862e764c6c873d7ee694663f226631b8a41353 (diff) | |
Support extension on generic type. (#4968)
Diffstat (limited to 'source/slang/slang-lookup.cpp')
| -rw-r--r-- | source/slang/slang-lookup.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-lookup.cpp b/source/slang/slang-lookup.cpp index 7acaa030b..1d35fe915 100644 --- a/source/slang/slang-lookup.cpp +++ b/source/slang/slang-lookup.cpp @@ -499,7 +499,7 @@ static void _lookUpMembersInSuperTypeDeclImpl( BreadcrumbInfo* inBreadcrumbs) { auto semantics = request.semantics; - if (!as<InterfaceDecl>(declRef.getDecl()) && getText(name) == "This") + if (!as<InterfaceDecl>(declRef.getDecl()) && name == astBuilder->getSharedASTBuilder()->getThisTypeName()) { // If we are looking for `This` in anything other than an InterfaceDecl, // we just need to return the declRef itself. @@ -806,6 +806,10 @@ static void _lookUpInScopes( // a type that uses the "target type" of the `extension`. // type = getTargetType(astBuilder, extDeclRef); + if (name == astBuilder->getSharedASTBuilder()->getThisTypeName()) + { + breadcrumbPtr = nullptr; + } } else { |
