From c28a22fb8b505ff48ca0814ca290ee4f698aa38b Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 20 Mar 2024 13:33:13 -0700 Subject: Fix namespace parsing. (#3803) * Fix namespace parsing. * Fix. --- source/slang/slang-parser.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'source') diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index e1dce5731..ab69b66d8 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -3457,22 +3457,18 @@ namespace Slang namespaceDecl = parser->astBuilder->create(); namespaceDecl->nameAndLoc = nameAndLoc; namespaceDecl->loc = nameAndLoc.loc; + AddMember(parentDecl, namespaceDecl); + if (auto parentNamespace = as(parentDecl)) + { + parser->PushScope(parentDecl); + nestedNamespaceDecls.add(parentNamespace); + } } } if (!result) { result = namespaceDecl; } - else if (parentDecl) - { - if (auto parentNamespace = as(parentDecl)) - { - parser->PushScope(parentDecl); - nestedNamespaceDecls.add(parentNamespace); - } - AddMember(parentDecl, namespaceDecl); - } - parentDecl = namespaceDecl; } while (AdvanceIf(parser, TokenType::Dot) || AdvanceIf(parser, TokenType::Scope)); -- cgit v1.2.3