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-parser.cpp | |
| parent | 49862e764c6c873d7ee694663f226631b8a41353 (diff) | |
Support extension on generic type. (#4968)
Diffstat (limited to 'source/slang/slang-parser.cpp')
| -rw-r--r-- | source/slang/slang-parser.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index 04ada006c..121c68be7 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -3335,12 +3335,15 @@ namespace Slang static NodeBase* parseExtensionDecl(Parser* parser, void* /*userData*/) { - ExtensionDecl* decl = parser->astBuilder->create<ExtensionDecl>(); - parser->FillPosition(decl); - decl->targetType = parser->ParseTypeExp(); - parseOptionalInheritanceClause(parser, decl); - parseDeclBody(parser, decl); - return decl; + return parseOptGenericDecl(parser, [&](GenericDecl*) + { + ExtensionDecl* decl = parser->astBuilder->create<ExtensionDecl>(); + parser->FillPosition(decl); + decl->targetType = parser->ParseTypeExp(); + parseOptionalInheritanceClause(parser, decl); + parseDeclBody(parser, decl); + return decl; + }); } |
