summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/slang/slang-parser.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index 97777c9fe..b7828999a 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -841,22 +841,6 @@ bool AdvanceIfMatch(Parser* parser, MatchedTokenType type)
return AdvanceIfMatch(parser, type, &ignored);
}
-NodeBase* parseTypeDef(Parser* parser, void* /*userData*/)
-{
- TypeDefDecl* typeDefDecl = parser->astBuilder->create<TypeDefDecl>();
-
- // TODO(tfoley): parse an actual declarator
- auto type = parser->ParseTypeExp();
-
- auto nameToken = parser->ReadToken(TokenType::Identifier);
- typeDefDecl->loc = nameToken.loc;
-
- typeDefDecl->nameAndLoc = NameLoc(nameToken);
- typeDefDecl->type = type;
-
- return typeDefDecl;
-}
-
// Add a modifier to a list of modifiers being built
static void AddModifier(Modifier*** ioModifierLink, Modifier* modifier)
{
@@ -4349,6 +4333,24 @@ static NodeBase* parseFuncDecl(Parser* parser, void* /*userData*/)
});
}
+NodeBase* parseTypeDef(Parser* parser, void* /*userData*/)
+{
+ TypeDefDecl* typeDefDecl = parser->astBuilder->create<TypeDefDecl>();
+
+ // TODO(tfoley): parse an actual declarator
+ auto type = parser->ParseTypeExp();
+
+ auto nameToken = parser->ReadToken(TokenType::Identifier);
+ typeDefDecl->loc = nameToken.loc;
+
+ typeDefDecl->nameAndLoc = NameLoc(nameToken);
+ typeDefDecl->type = type;
+
+ AdvanceIf(parser, TokenType::Semicolon);
+
+ return typeDefDecl;
+}
+
static NodeBase* parseTypeAliasDecl(Parser* parser, void* /*userData*/)
{
TypeAliasDecl* decl = parser->astBuilder->create<TypeAliasDecl>();