...
This commit is contained in:
@@ -384,7 +384,7 @@ public class Parser
|
||||
var module = ExpectIdent();
|
||||
ExpectSymbol(Symbol.ColonColon);
|
||||
var enumName = ExpectIdent();
|
||||
ExpectSymbol(Symbol.Period);
|
||||
ExpectSymbol(Symbol.ColonColon);
|
||||
var variantName = ExpectIdent();
|
||||
|
||||
var initializers = new List<NodeExpressionEnumLiteral.Initializer>();
|
||||
@@ -484,9 +484,14 @@ public class Parser
|
||||
case "u64":
|
||||
return new NodeTypeUInt(TokensFrom(startIndex), 64);
|
||||
default:
|
||||
ExpectSymbol(Symbol.ColonColon);
|
||||
var name = ExpectIdent();
|
||||
return new NodeTypeCustom(TokensFrom(startIndex), ident, name);
|
||||
List<TokenIdent> secitons = [ident];
|
||||
while (TryExpectSymbol(Symbol.ColonColon))
|
||||
{
|
||||
ident = ExpectIdent();
|
||||
secitons.Add(ident);
|
||||
}
|
||||
|
||||
return new NodeTypeNamed(TokensFrom(startIndex), secitons);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -938,10 +943,9 @@ public class NodeTypeBool(List<Token> tokens) : NodeType(tokens);
|
||||
|
||||
public class NodeTypeString(List<Token> tokens) : NodeType(tokens);
|
||||
|
||||
public class NodeTypeCustom(List<Token> tokens, TokenIdent module, TokenIdent name) : NodeType(tokens)
|
||||
public class NodeTypeNamed(List<Token> tokens, List<TokenIdent> sections) : NodeType(tokens)
|
||||
{
|
||||
public TokenIdent Module { get; } = module;
|
||||
public TokenIdent Name { get; } = name;
|
||||
public List<TokenIdent> Sections { get; } = sections;
|
||||
}
|
||||
|
||||
public class NodeTypePointer(List<Token> tokens, NodeType to) : NodeType(tokens)
|
||||
|
||||
Reference in New Issue
Block a user