summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-parser.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-09 09:11:23 -0700
committerGitHub <noreply@github.com>2023-08-09 09:11:23 -0700
commitc4615fe0ae7e1849b23e9a96d1453794b0b40e90 (patch)
tree0d8d4eed0c90df9664420737d60749f391c11ffb /source/slang/slang-parser.cpp
parent793a29afc9539f893883b5ad8d88639d63f401e0 (diff)
Clean up and improve Val deduplication performance. (#3069)
* Clean up and improve Val deuplication performance. * Fix. * Fix. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-parser.cpp')
-rw-r--r--source/slang/slang-parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index 4448a96e1..1836fd550 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -6659,6 +6659,12 @@ namespace Slang
{
modifier->tag = uint32_t(stringToInt(parser->ReadToken(TokenType::IntegerLiteral).getContent()));
}
+ auto classInfo = parser->astBuilder->findClassInfo(getName(parser, modifier->magicName));
+ if (classInfo)
+ {
+ modifier->magicNodeType = ASTNodeType(classInfo->m_classId);
+ }
+ // TODO: print diagnostic if the magic type name doesn't correspond to an actual ASTNodeType.
parser->ReadToken(TokenType::RParent);
return modifier;