Unpack identifier name syntax where appropriate
This commit is contained in:
parent
e1a7ea36c9
commit
df0cd4dea3
@ -118,7 +118,7 @@ namespace ProjectConsole
|
||||
OutputKeyword(node.ClassdefKeyword);
|
||||
Visit(node.Attributes);
|
||||
BoldOn();
|
||||
Visit(node.ClassName);
|
||||
OutputIdentifier(node.ClassName);
|
||||
BoldOff();
|
||||
Visit(node.BaseClassList);
|
||||
Visit(node.Nodes);
|
||||
@ -355,7 +355,7 @@ namespace ProjectConsole
|
||||
|
||||
public override void VisitCommandExpression(CommandExpressionSyntaxNode node)
|
||||
{
|
||||
Visit(node.CommandName);
|
||||
OutputIdentifier(node.CommandName);
|
||||
Visit(node.Arguments);
|
||||
}
|
||||
|
||||
@ -391,7 +391,7 @@ namespace ProjectConsole
|
||||
|
||||
public override void VisitAttribute(AttributeSyntaxNode node)
|
||||
{
|
||||
Visit(node.Name);
|
||||
OutputIdentifier(node.Name);
|
||||
Visit(node.Assignment);
|
||||
}
|
||||
|
||||
@ -454,7 +454,7 @@ namespace ProjectConsole
|
||||
|
||||
public override void VisitEnumerationItem(EnumerationItemSyntaxNode node)
|
||||
{
|
||||
Visit(node.Name);
|
||||
OutputIdentifier(node.Name);
|
||||
Visit(node.Values);
|
||||
Visit(node.Commas);
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ namespace MApplication
|
||||
{
|
||||
AddToken(node.ClassdefKeyword, _scheme.Keyword);
|
||||
Visit(node.Attributes);
|
||||
Visit(node.ClassName);
|
||||
AddToken(node.ClassName, _scheme.Identifier);
|
||||
Visit(node.BaseClassList);
|
||||
Visit(node.Nodes);
|
||||
AddToken(node.EndKeyword, _scheme.Keyword);
|
||||
@ -302,7 +302,7 @@ namespace MApplication
|
||||
|
||||
public override void VisitCommandExpression(CommandExpressionSyntaxNode node)
|
||||
{
|
||||
Visit(node.CommandName);
|
||||
AddToken(node.CommandName, _scheme.Identifier);
|
||||
Visit(node.Arguments);
|
||||
}
|
||||
|
||||
@ -338,7 +338,7 @@ namespace MApplication
|
||||
|
||||
public override void VisitAttribute(AttributeSyntaxNode node)
|
||||
{
|
||||
Visit(node.Name);
|
||||
AddToken(node.Name, _scheme.Identifier);
|
||||
Visit(node.Assignment);
|
||||
}
|
||||
|
||||
@ -401,7 +401,7 @@ namespace MApplication
|
||||
|
||||
public override void VisitEnumerationItem(EnumerationItemSyntaxNode node)
|
||||
{
|
||||
Visit(node.Name);
|
||||
AddToken(node.Name, _scheme.Identifier);
|
||||
Visit(node.Values);
|
||||
Visit(node.Commas);
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ namespace Parser.Internal
|
||||
builder.Add(Factory.UnquotedStringLiteralSyntax(EatToken()));
|
||||
}
|
||||
|
||||
return Factory.CommandExpressionSyntax(idNameNode, builder.ToList());
|
||||
return Factory.CommandExpressionSyntax(idNameNode._name, builder.ToList());
|
||||
}
|
||||
|
||||
if (expression is null)
|
||||
@ -866,7 +866,7 @@ namespace Parser.Internal
|
||||
|
||||
private AttributeSyntaxNode ParseAttribute()
|
||||
{
|
||||
var name = Factory.IdentifierNameExpressionSyntax(EatToken(TokenKind.IdentifierToken));
|
||||
var name = EatToken(TokenKind.IdentifierToken);
|
||||
var assignment = ParseAttributeAssignment();
|
||||
return Factory.AttributeSyntax(name, assignment);
|
||||
}
|
||||
@ -1023,7 +1023,7 @@ namespace Parser.Internal
|
||||
|
||||
private EnumerationItemSyntaxNode ParseEnumerationItem()
|
||||
{
|
||||
var name = Factory.IdentifierNameExpressionSyntax(EatToken());
|
||||
var name = EatToken();
|
||||
var values = ParseEnumerationValue();
|
||||
var commas = ParseOptionalCommas();
|
||||
return Factory.EnumerationItemSyntax(name, values, commas);
|
||||
@ -1104,7 +1104,7 @@ namespace Parser.Internal
|
||||
{
|
||||
attributes = ParseAttributesList();
|
||||
}
|
||||
var className = Factory.IdentifierNameExpressionSyntax(EatToken(TokenKind.IdentifierToken));
|
||||
var className = EatToken(TokenKind.IdentifierToken);
|
||||
BaseClassListSyntaxNode? baseClassList = null;
|
||||
if (CurrentToken.Kind == TokenKind.LessToken)
|
||||
{
|
||||
|
@ -178,7 +178,7 @@ namespace Parser.Internal
|
||||
return new IndirectMemberAccessSyntaxNode(openingBracket, expression, closingBracket);
|
||||
}
|
||||
|
||||
public CommandExpressionSyntaxNode CommandExpressionSyntax(IdentifierNameExpressionSyntaxNode commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments)
|
||||
public CommandExpressionSyntaxNode CommandExpressionSyntax(SyntaxToken commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments)
|
||||
{
|
||||
return new CommandExpressionSyntaxNode(commandName, arguments);
|
||||
}
|
||||
@ -193,7 +193,7 @@ namespace Parser.Internal
|
||||
return new AttributeAssignmentSyntaxNode(assignmentSign, value);
|
||||
}
|
||||
|
||||
public AttributeSyntaxNode AttributeSyntax(IdentifierNameExpressionSyntaxNode name, AttributeAssignmentSyntaxNode? assignment)
|
||||
public AttributeSyntaxNode AttributeSyntax(SyntaxToken name, AttributeAssignmentSyntaxNode? assignment)
|
||||
{
|
||||
return new AttributeSyntaxNode(name, assignment);
|
||||
}
|
||||
@ -228,7 +228,7 @@ namespace Parser.Internal
|
||||
return new BaseClassListSyntaxNode(lessSign, baseClasses);
|
||||
}
|
||||
|
||||
public ClassDeclarationSyntaxNode ClassDeclarationSyntax(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, IdentifierNameExpressionSyntaxNode className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword)
|
||||
public ClassDeclarationSyntaxNode ClassDeclarationSyntax(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, SyntaxToken className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword)
|
||||
{
|
||||
return new ClassDeclarationSyntaxNode(classdefKeyword, attributes, className, baseClassList, nodes, endKeyword);
|
||||
}
|
||||
@ -238,7 +238,7 @@ namespace Parser.Internal
|
||||
return new EnumerationItemValueSyntaxNode(openingBracket, values, closingBracket);
|
||||
}
|
||||
|
||||
public EnumerationItemSyntaxNode EnumerationItemSyntax(IdentifierNameExpressionSyntaxNode name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas)
|
||||
public EnumerationItemSyntaxNode EnumerationItemSyntax(SyntaxToken name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas)
|
||||
{
|
||||
return new EnumerationItemSyntaxNode(name, values, commas);
|
||||
}
|
||||
|
@ -1648,9 +1648,9 @@ namespace Parser.Internal
|
||||
|
||||
internal class CommandExpressionSyntaxNode : ExpressionSyntaxNode
|
||||
{
|
||||
internal readonly IdentifierNameExpressionSyntaxNode _commandName;
|
||||
internal readonly SyntaxToken _commandName;
|
||||
internal readonly SyntaxList<UnquotedStringLiteralSyntaxNode> _arguments;
|
||||
internal CommandExpressionSyntaxNode(IdentifierNameExpressionSyntaxNode commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments): base(TokenKind.CommandExpression)
|
||||
internal CommandExpressionSyntaxNode(SyntaxToken commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments): base(TokenKind.CommandExpression)
|
||||
{
|
||||
Slots = 2;
|
||||
this.AdjustWidth(commandName);
|
||||
@ -1659,7 +1659,7 @@ namespace Parser.Internal
|
||||
_arguments = arguments;
|
||||
}
|
||||
|
||||
internal CommandExpressionSyntaxNode(IdentifierNameExpressionSyntaxNode commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments, TokenDiagnostic[] diagnostics): base(TokenKind.CommandExpression, diagnostics)
|
||||
internal CommandExpressionSyntaxNode(SyntaxToken commandName, SyntaxList<UnquotedStringLiteralSyntaxNode> arguments, TokenDiagnostic[] diagnostics): base(TokenKind.CommandExpression, diagnostics)
|
||||
{
|
||||
Slots = 2;
|
||||
this.AdjustWidth(commandName);
|
||||
@ -1782,9 +1782,9 @@ namespace Parser.Internal
|
||||
|
||||
internal class AttributeSyntaxNode : SyntaxNode
|
||||
{
|
||||
internal readonly IdentifierNameExpressionSyntaxNode _name;
|
||||
internal readonly SyntaxToken _name;
|
||||
internal readonly AttributeAssignmentSyntaxNode? _assignment;
|
||||
internal AttributeSyntaxNode(IdentifierNameExpressionSyntaxNode name, AttributeAssignmentSyntaxNode? assignment): base(TokenKind.Attribute)
|
||||
internal AttributeSyntaxNode(SyntaxToken name, AttributeAssignmentSyntaxNode? assignment): base(TokenKind.Attribute)
|
||||
{
|
||||
Slots = 2;
|
||||
this.AdjustWidth(name);
|
||||
@ -1793,7 +1793,7 @@ namespace Parser.Internal
|
||||
_assignment = assignment;
|
||||
}
|
||||
|
||||
internal AttributeSyntaxNode(IdentifierNameExpressionSyntaxNode name, AttributeAssignmentSyntaxNode? assignment, TokenDiagnostic[] diagnostics): base(TokenKind.Attribute, diagnostics)
|
||||
internal AttributeSyntaxNode(SyntaxToken name, AttributeAssignmentSyntaxNode? assignment, TokenDiagnostic[] diagnostics): base(TokenKind.Attribute, diagnostics)
|
||||
{
|
||||
Slots = 2;
|
||||
this.AdjustWidth(name);
|
||||
@ -2140,11 +2140,11 @@ namespace Parser.Internal
|
||||
{
|
||||
internal readonly SyntaxToken _classdefKeyword;
|
||||
internal readonly AttributeListSyntaxNode? _attributes;
|
||||
internal readonly IdentifierNameExpressionSyntaxNode _className;
|
||||
internal readonly SyntaxToken _className;
|
||||
internal readonly BaseClassListSyntaxNode? _baseClassList;
|
||||
internal readonly SyntaxList _nodes;
|
||||
internal readonly SyntaxToken _endKeyword;
|
||||
internal ClassDeclarationSyntaxNode(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, IdentifierNameExpressionSyntaxNode className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword): base(TokenKind.ClassDeclaration)
|
||||
internal ClassDeclarationSyntaxNode(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, SyntaxToken className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword): base(TokenKind.ClassDeclaration)
|
||||
{
|
||||
Slots = 6;
|
||||
this.AdjustWidth(classdefKeyword);
|
||||
@ -2161,7 +2161,7 @@ namespace Parser.Internal
|
||||
_endKeyword = endKeyword;
|
||||
}
|
||||
|
||||
internal ClassDeclarationSyntaxNode(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, IdentifierNameExpressionSyntaxNode className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword, TokenDiagnostic[] diagnostics): base(TokenKind.ClassDeclaration, diagnostics)
|
||||
internal ClassDeclarationSyntaxNode(SyntaxToken classdefKeyword, AttributeListSyntaxNode? attributes, SyntaxToken className, BaseClassListSyntaxNode? baseClassList, SyntaxList nodes, SyntaxToken endKeyword, TokenDiagnostic[] diagnostics): base(TokenKind.ClassDeclaration, diagnostics)
|
||||
{
|
||||
Slots = 6;
|
||||
this.AdjustWidth(classdefKeyword);
|
||||
@ -2249,10 +2249,10 @@ namespace Parser.Internal
|
||||
|
||||
internal class EnumerationItemSyntaxNode : SyntaxNode
|
||||
{
|
||||
internal readonly IdentifierNameExpressionSyntaxNode _name;
|
||||
internal readonly SyntaxToken _name;
|
||||
internal readonly EnumerationItemValueSyntaxNode? _values;
|
||||
internal readonly SyntaxList<SyntaxToken> _commas;
|
||||
internal EnumerationItemSyntaxNode(IdentifierNameExpressionSyntaxNode name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas): base(TokenKind.EnumerationItem)
|
||||
internal EnumerationItemSyntaxNode(SyntaxToken name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas): base(TokenKind.EnumerationItem)
|
||||
{
|
||||
Slots = 3;
|
||||
this.AdjustWidth(name);
|
||||
@ -2263,7 +2263,7 @@ namespace Parser.Internal
|
||||
_commas = commas;
|
||||
}
|
||||
|
||||
internal EnumerationItemSyntaxNode(IdentifierNameExpressionSyntaxNode name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas, TokenDiagnostic[] diagnostics): base(TokenKind.EnumerationItem, diagnostics)
|
||||
internal EnumerationItemSyntaxNode(SyntaxToken name, EnumerationItemValueSyntaxNode? values, SyntaxList<SyntaxToken> commas, TokenDiagnostic[] diagnostics): base(TokenKind.EnumerationItem, diagnostics)
|
||||
{
|
||||
Slots = 3;
|
||||
this.AdjustWidth(name);
|
||||
|
@ -169,7 +169,7 @@
|
||||
<Field Type="SyntaxToken" Name="closingBracket" />
|
||||
</Class>
|
||||
<Class Name="CommandExpressionSyntaxNode" BaseClass="ExpressionSyntaxNode" Kind="CommandExpression">
|
||||
<Field Type="IdentifierNameExpressionSyntaxNode" Name="commandName" />
|
||||
<Field Type="SyntaxToken" Name="commandName" />
|
||||
<Field Type="SyntaxList<UnquotedStringLiteralSyntaxNode>" Name="arguments" />
|
||||
</Class>
|
||||
<Class Name="BaseClassInvokationSyntaxNode" BaseClass="ExpressionSyntaxNode" Kind="ClassInvokationExpression">
|
||||
@ -182,7 +182,7 @@
|
||||
<Field Type="ExpressionSyntaxNode" Name="value" />
|
||||
</Class>
|
||||
<Class Name="AttributeSyntaxNode" BaseClass="SyntaxNode" Kind="Attribute">
|
||||
<Field Type="IdentifierNameExpressionSyntaxNode" Name="name" />
|
||||
<Field Type="SyntaxToken" Name="name" />
|
||||
<Field Type="AttributeAssignmentSyntaxNode" Name="assignment" Nullable="true" />
|
||||
</Class>
|
||||
<Class Name="AttributeListSyntaxNode" BaseClass="SyntaxNode" Kind="AttributeList">
|
||||
@ -223,7 +223,7 @@
|
||||
<Class Name="ClassDeclarationSyntaxNode" BaseClass="StatementSyntaxNode" Kind="ClassDeclaration">
|
||||
<Field Type="SyntaxToken" Name="classdefKeyword" />
|
||||
<Field Type="AttributeListSyntaxNode" Name="attributes" Nullable="true" />
|
||||
<Field Type="IdentifierNameExpressionSyntaxNode" Name="className" />
|
||||
<Field Type="SyntaxToken" Name="className" />
|
||||
<Field Type="BaseClassListSyntaxNode" Name="baseClassList" Nullable="true" />
|
||||
<Field Type="SyntaxList" Name="nodes" />
|
||||
<Field Type="SyntaxToken" Name="endKeyword" />
|
||||
@ -234,7 +234,7 @@
|
||||
<Field Type="SyntaxToken" Name="closingBracket" />
|
||||
</Class>
|
||||
<Class Name="EnumerationItemSyntaxNode" BaseClass="SyntaxNode" Kind="EnumerationItem">
|
||||
<Field Type="IdentifierNameExpressionSyntaxNode" Name="name" />
|
||||
<Field Type="SyntaxToken" Name="name" />
|
||||
<Field Type="EnumerationItemValueSyntaxNode" Name="values" Nullable="true"/>
|
||||
<Field Type="SyntaxList<SyntaxToken>" Name="commas" />
|
||||
</Class>
|
||||
|
@ -1663,18 +1663,16 @@ namespace Parser
|
||||
|
||||
public class CommandExpressionSyntaxNode : ExpressionSyntaxNode
|
||||
{
|
||||
private SyntaxNode? _commandName;
|
||||
private SyntaxNode? _arguments;
|
||||
internal CommandExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position): base(parent, green, position)
|
||||
{
|
||||
}
|
||||
|
||||
public IdentifierNameExpressionSyntaxNode CommandName
|
||||
public SyntaxToken CommandName
|
||||
{
|
||||
get
|
||||
{
|
||||
var red = this.GetRed(ref this._commandName!, 0);
|
||||
return red is null ? throw new System.Exception("commandName cannot be null.") : (IdentifierNameExpressionSyntaxNode)red;
|
||||
return new SyntaxToken(this, ((Parser.Internal.CommandExpressionSyntaxNode)_green)._commandName, this.GetChildPosition(0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1691,7 +1689,7 @@ namespace Parser
|
||||
{
|
||||
return i switch
|
||||
{
|
||||
0 => GetRed(ref _commandName!, 0), 1 => GetRed(ref _arguments!, 1), _ => null
|
||||
1 => GetRed(ref _arguments!, 1), _ => null
|
||||
}
|
||||
|
||||
;
|
||||
@ -1795,18 +1793,16 @@ namespace Parser
|
||||
|
||||
public class AttributeSyntaxNode : SyntaxNode
|
||||
{
|
||||
private SyntaxNode? _name;
|
||||
private SyntaxNode? _assignment;
|
||||
internal AttributeSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position): base(parent, green, position)
|
||||
{
|
||||
}
|
||||
|
||||
public IdentifierNameExpressionSyntaxNode Name
|
||||
public SyntaxToken Name
|
||||
{
|
||||
get
|
||||
{
|
||||
var red = this.GetRed(ref this._name!, 0);
|
||||
return red is null ? throw new System.Exception("name cannot be null.") : (IdentifierNameExpressionSyntaxNode)red;
|
||||
return new SyntaxToken(this, ((Parser.Internal.AttributeSyntaxNode)_green)._name, this.GetChildPosition(0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1823,7 +1819,7 @@ namespace Parser
|
||||
{
|
||||
return i switch
|
||||
{
|
||||
0 => GetRed(ref _name!, 0), 1 => GetRed(ref _assignment, 1), _ => null
|
||||
1 => GetRed(ref _assignment, 1), _ => null
|
||||
}
|
||||
|
||||
;
|
||||
@ -2184,7 +2180,6 @@ namespace Parser
|
||||
public class ClassDeclarationSyntaxNode : StatementSyntaxNode
|
||||
{
|
||||
private SyntaxNode? _attributes;
|
||||
private SyntaxNode? _className;
|
||||
private SyntaxNode? _baseClassList;
|
||||
private SyntaxNode? _nodes;
|
||||
internal ClassDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position): base(parent, green, position)
|
||||
@ -2199,6 +2194,14 @@ namespace Parser
|
||||
}
|
||||
}
|
||||
|
||||
public SyntaxToken ClassName
|
||||
{
|
||||
get
|
||||
{
|
||||
return new SyntaxToken(this, ((Parser.Internal.ClassDeclarationSyntaxNode)_green)._className, this.GetChildPosition(2));
|
||||
}
|
||||
}
|
||||
|
||||
public SyntaxToken EndKeyword
|
||||
{
|
||||
get
|
||||
@ -2216,15 +2219,6 @@ namespace Parser
|
||||
}
|
||||
}
|
||||
|
||||
public IdentifierNameExpressionSyntaxNode ClassName
|
||||
{
|
||||
get
|
||||
{
|
||||
var red = this.GetRed(ref this._className!, 2);
|
||||
return red is null ? throw new System.Exception("className cannot be null.") : (IdentifierNameExpressionSyntaxNode)red;
|
||||
}
|
||||
}
|
||||
|
||||
public BaseClassListSyntaxNode? BaseClassList
|
||||
{
|
||||
get
|
||||
@ -2247,7 +2241,7 @@ namespace Parser
|
||||
{
|
||||
return i switch
|
||||
{
|
||||
1 => GetRed(ref _attributes, 1), 2 => GetRed(ref _className!, 2), 3 => GetRed(ref _baseClassList, 3), 4 => GetRed(ref _nodes!, 4), _ => null
|
||||
1 => GetRed(ref _attributes, 1), 3 => GetRed(ref _baseClassList, 3), 4 => GetRed(ref _nodes!, 4), _ => null
|
||||
}
|
||||
|
||||
;
|
||||
@ -2309,19 +2303,17 @@ namespace Parser
|
||||
|
||||
public class EnumerationItemSyntaxNode : SyntaxNode
|
||||
{
|
||||
private SyntaxNode? _name;
|
||||
private SyntaxNode? _values;
|
||||
private SyntaxNode? _commas;
|
||||
internal EnumerationItemSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position): base(parent, green, position)
|
||||
{
|
||||
}
|
||||
|
||||
public IdentifierNameExpressionSyntaxNode Name
|
||||
public SyntaxToken Name
|
||||
{
|
||||
get
|
||||
{
|
||||
var red = this.GetRed(ref this._name!, 0);
|
||||
return red is null ? throw new System.Exception("name cannot be null.") : (IdentifierNameExpressionSyntaxNode)red;
|
||||
return new SyntaxToken(this, ((Parser.Internal.EnumerationItemSyntaxNode)_green)._name, this.GetChildPosition(0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2347,7 +2339,7 @@ namespace Parser
|
||||
{
|
||||
return i switch
|
||||
{
|
||||
0 => GetRed(ref _name!, 0), 1 => GetRed(ref _values, 1), 2 => GetRed(ref _commas!, 2), _ => null
|
||||
1 => GetRed(ref _values, 1), 2 => GetRed(ref _commas!, 2), _ => null
|
||||
}
|
||||
|
||||
;
|
||||
|
Loading…
x
Reference in New Issue
Block a user