Implement Position for red nodes and tokens
This commit is contained in:
parent
accc18c897
commit
c361b8e004
@ -52,5 +52,21 @@ namespace Parser.Tests
|
|||||||
var actual = sut.Parse();
|
var actual = sut.Parse();
|
||||||
Assert.Collection(actual.Diagnostics, item => Assert.Equal("Unexpected token 'SemicolonToken', expected 'IdentifierToken'.", item.Message));
|
Assert.Collection(actual.Diagnostics, item => Assert.Equal("Unexpected token 'SemicolonToken', expected 'IdentifierToken'.", item.Message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void ProvidePosition()
|
||||||
|
{
|
||||||
|
var text = "2 + 3";
|
||||||
|
var sut = GetSut(text);
|
||||||
|
var actual = sut.Parse();
|
||||||
|
var statement = actual.Root.StatementList[0].AsNode() as ExpressionStatementSyntaxNode;
|
||||||
|
var expression = statement.Expression as BinaryOperationExpressionSyntaxNode;
|
||||||
|
var lhs = expression.Lhs;
|
||||||
|
var operation = expression.Operation;
|
||||||
|
var rhs = expression.Rhs;
|
||||||
|
Assert.Equal(0, lhs.Position);
|
||||||
|
Assert.Equal(2, operation.Position);
|
||||||
|
Assert.Equal(4, rhs.Position);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -90,7 +90,7 @@ namespace Parser
|
|||||||
return red;
|
return red;
|
||||||
}
|
}
|
||||||
// this is a token
|
// this is a token
|
||||||
return new SyntaxToken(listSlot, listSlot._green.GetSlot(index));
|
return new SyntaxToken(listSlot, listSlot._green.GetSlot(index), _node.GetChildPosition(index));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ namespace Parser
|
|||||||
return red;
|
return red;
|
||||||
}
|
}
|
||||||
// this is a token
|
// this is a token
|
||||||
return new SyntaxToken(_node, _node._green.GetSlot(currentSlotIndex));
|
return new SyntaxToken(_node, _node._green.GetSlot(currentSlotIndex), _node.GetChildPosition(currentSlotIndex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ namespace Parser.Internal
|
|||||||
_fullWidth = fullWidth;
|
_fullWidth = fullWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal abstract Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent);
|
internal abstract Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position);
|
||||||
|
|
||||||
protected int _fullWidth;
|
protected int _fullWidth;
|
||||||
|
|
||||||
|
@ -29,9 +29,9 @@ namespace Parser.Internal
|
|||||||
|
|
||||||
public override bool IsList => true;
|
public override bool IsList => true;
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.SyntaxNodeOrTokenList(parent, this);
|
return new Parser.SyntaxNodeOrTokenList(parent, this, position);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -26,9 +26,9 @@
|
|||||||
|
|
||||||
public override bool IsList => true;
|
public override bool IsList => true;
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.SyntaxNodeOrTokenList(parent, this);
|
return new Parser.SyntaxNodeOrTokenList(parent, this, position);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -17,9 +17,9 @@ namespace Parser.Internal
|
|||||||
_endOfFile = endOfFile;
|
_endOfFile = endOfFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.FileSyntaxNode(parent, this);
|
return new Parser.FileSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -70,9 +70,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.FunctionDeclarationSyntaxNode(parent, this);
|
return new Parser.FunctionDeclarationSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -108,9 +108,9 @@ namespace Parser.Internal
|
|||||||
_assignmentSign = assignmentSign;
|
_assignmentSign = assignmentSign;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.FunctionOutputDescriptionSyntaxNode(parent, this);
|
return new Parser.FunctionOutputDescriptionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -145,9 +145,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.FunctionInputDescriptionSyntaxNode(parent, this);
|
return new Parser.FunctionInputDescriptionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -191,9 +191,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.SwitchStatementSyntaxNode(parent, this);
|
return new Parser.SwitchStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -235,9 +235,9 @@ namespace Parser.Internal
|
|||||||
_body = body;
|
_body = body;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.SwitchCaseSyntaxNode(parent, this);
|
return new Parser.SwitchCaseSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -282,9 +282,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.WhileStatementSyntaxNode(parent, this);
|
return new Parser.WhileStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -326,9 +326,9 @@ namespace Parser.Internal
|
|||||||
_body = body;
|
_body = body;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ElseifClause(parent, this);
|
return new Parser.ElseifClause(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -361,9 +361,9 @@ namespace Parser.Internal
|
|||||||
_body = body;
|
_body = body;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ElseClause(parent, this);
|
return new Parser.ElseClause(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -414,9 +414,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.IfStatementSyntaxNode(parent, this);
|
return new Parser.IfStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -464,9 +464,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ForStatementSyntaxNode(parent, this);
|
return new Parser.ForStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -504,9 +504,9 @@ namespace Parser.Internal
|
|||||||
_rhs = rhs;
|
_rhs = rhs;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.AssignmentExpressionSyntaxNode(parent, this);
|
return new Parser.AssignmentExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -538,9 +538,9 @@ namespace Parser.Internal
|
|||||||
_catchBody = catchBody;
|
_catchBody = catchBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.CatchClauseSyntaxNode(parent, this);
|
return new Parser.CatchClauseSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -579,9 +579,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.TryCatchStatementSyntaxNode(parent, this);
|
return new Parser.TryCatchStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -610,9 +610,9 @@ namespace Parser.Internal
|
|||||||
_expression = expression;
|
_expression = expression;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ExpressionStatementSyntaxNode(parent, this);
|
return new Parser.ExpressionStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -638,9 +638,9 @@ namespace Parser.Internal
|
|||||||
_semicolon = semicolon;
|
_semicolon = semicolon;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EmptyStatementSyntaxNode(parent, this);
|
return new Parser.EmptyStatementSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -662,9 +662,9 @@ namespace Parser.Internal
|
|||||||
Slots = 0;
|
Slots = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EmptyExpressionSyntaxNode(parent, this);
|
return new Parser.EmptyExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -693,9 +693,9 @@ namespace Parser.Internal
|
|||||||
_operand = operand;
|
_operand = operand;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.UnaryPrefixOperationExpressionSyntaxNode(parent, this);
|
return new Parser.UnaryPrefixOperationExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -722,9 +722,9 @@ namespace Parser.Internal
|
|||||||
_nodes = nodes;
|
_nodes = nodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.CompoundNameSyntaxNode(parent, this);
|
return new Parser.CompoundNameSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -754,9 +754,9 @@ namespace Parser.Internal
|
|||||||
_functionName = functionName;
|
_functionName = functionName;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.NamedFunctionHandleSyntaxNode(parent, this);
|
return new Parser.NamedFunctionHandleSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -791,9 +791,9 @@ namespace Parser.Internal
|
|||||||
_body = body;
|
_body = body;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.LambdaSyntaxNode(parent, this);
|
return new Parser.LambdaSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -829,9 +829,9 @@ namespace Parser.Internal
|
|||||||
_rhs = rhs;
|
_rhs = rhs;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.BinaryOperationExpressionSyntaxNode(parent, this);
|
return new Parser.BinaryOperationExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -859,9 +859,9 @@ namespace Parser.Internal
|
|||||||
_name = name;
|
_name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.IdentifierNameSyntaxNode(parent, this);
|
return new Parser.IdentifierNameSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -887,9 +887,9 @@ namespace Parser.Internal
|
|||||||
_number = number;
|
_number = number;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.NumberLiteralSyntaxNode(parent, this);
|
return new Parser.NumberLiteralSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -915,9 +915,9 @@ namespace Parser.Internal
|
|||||||
_stringToken = stringToken;
|
_stringToken = stringToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.StringLiteralSyntaxNode(parent, this);
|
return new Parser.StringLiteralSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -943,9 +943,9 @@ namespace Parser.Internal
|
|||||||
_stringToken = stringToken;
|
_stringToken = stringToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.DoubleQuotedStringLiteralSyntaxNode(parent, this);
|
return new Parser.DoubleQuotedStringLiteralSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -971,9 +971,9 @@ namespace Parser.Internal
|
|||||||
_stringToken = stringToken;
|
_stringToken = stringToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.UnquotedStringLiteralSyntaxNode(parent, this);
|
return new Parser.UnquotedStringLiteralSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1007,9 +1007,9 @@ namespace Parser.Internal
|
|||||||
_closingSquareBracket = closingSquareBracket;
|
_closingSquareBracket = closingSquareBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ArrayLiteralExpressionSyntaxNode(parent, this);
|
return new Parser.ArrayLiteralExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1045,9 +1045,9 @@ namespace Parser.Internal
|
|||||||
_closingBrace = closingBrace;
|
_closingBrace = closingBrace;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.CellArrayLiteralExpressionSyntaxNode(parent, this);
|
return new Parser.CellArrayLiteralExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1083,9 +1083,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ParenthesizedExpressionSyntaxNode(parent, this);
|
return new Parser.ParenthesizedExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1125,9 +1125,9 @@ namespace Parser.Internal
|
|||||||
_closingBrace = closingBrace;
|
_closingBrace = closingBrace;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.CellArrayElementAccessExpressionSyntaxNode(parent, this);
|
return new Parser.CellArrayElementAccessExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1168,9 +1168,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.FunctionCallExpressionSyntaxNode(parent, this);
|
return new Parser.FunctionCallExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1207,9 +1207,9 @@ namespace Parser.Internal
|
|||||||
_rightOperand = rightOperand;
|
_rightOperand = rightOperand;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.MemberAccessSyntaxNode(parent, this);
|
return new Parser.MemberAccessSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1241,9 +1241,9 @@ namespace Parser.Internal
|
|||||||
_operation = operation;
|
_operation = operation;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.UnaryPostixOperationExpressionSyntaxNode(parent, this);
|
return new Parser.UnaryPostixOperationExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1278,9 +1278,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.IndirectMemberAccessSyntaxNode(parent, this);
|
return new Parser.IndirectMemberAccessSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1312,9 +1312,9 @@ namespace Parser.Internal
|
|||||||
_arguments = arguments;
|
_arguments = arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.CommandExpressionSyntaxNode(parent, this);
|
return new Parser.CommandExpressionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1349,9 +1349,9 @@ namespace Parser.Internal
|
|||||||
_baseClassNameAndArguments = baseClassNameAndArguments;
|
_baseClassNameAndArguments = baseClassNameAndArguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.BaseClassInvokationSyntaxNode(parent, this);
|
return new Parser.BaseClassInvokationSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1383,9 +1383,9 @@ namespace Parser.Internal
|
|||||||
_value = value;
|
_value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.AttributeAssignmentSyntaxNode(parent, this);
|
return new Parser.AttributeAssignmentSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1416,9 +1416,9 @@ namespace Parser.Internal
|
|||||||
_assignment = assignment;
|
_assignment = assignment;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.AttributeSyntaxNode(parent, this);
|
return new Parser.AttributeSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1453,9 +1453,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.AttributeListSyntaxNode(parent, this);
|
return new Parser.AttributeListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1507,9 +1507,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.MethodDefinitionSyntaxNode(parent, this);
|
return new Parser.MethodDefinitionSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1549,9 +1549,9 @@ namespace Parser.Internal
|
|||||||
_inputDescription = inputDescription;
|
_inputDescription = inputDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.AbstractMethodDeclarationSyntaxNode(parent, this);
|
return new Parser.AbstractMethodDeclarationSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1591,9 +1591,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.MethodsListSyntaxNode(parent, this);
|
return new Parser.MethodsListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1634,9 +1634,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.PropertiesListSyntaxNode(parent, this);
|
return new Parser.PropertiesListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1669,9 +1669,9 @@ namespace Parser.Internal
|
|||||||
_baseClasses = baseClasses;
|
_baseClasses = baseClasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.BaseClassListSyntaxNode(parent, this);
|
return new Parser.BaseClassListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1718,9 +1718,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.ClassDeclarationSyntaxNode(parent, this);
|
return new Parser.ClassDeclarationSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1759,9 +1759,9 @@ namespace Parser.Internal
|
|||||||
_closingBracket = closingBracket;
|
_closingBracket = closingBracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EnumerationItemValueSyntaxNode(parent, this);
|
return new Parser.EnumerationItemValueSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1797,9 +1797,9 @@ namespace Parser.Internal
|
|||||||
_commas = commas;
|
_commas = commas;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EnumerationItemSyntaxNode(parent, this);
|
return new Parser.EnumerationItemSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1839,9 +1839,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EnumerationListSyntaxNode(parent, this);
|
return new Parser.EnumerationListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
@ -1882,9 +1882,9 @@ namespace Parser.Internal
|
|||||||
_endKeyword = endKeyword;
|
_endKeyword = endKeyword;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
return new Parser.EventsListSyntaxNode(parent, this);
|
return new Parser.EventsListSyntaxNode(parent, this, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GreenNode GetSlot(int i)
|
public override GreenNode GetSlot(int i)
|
||||||
|
@ -208,7 +208,7 @@ namespace Parser.Internal
|
|||||||
throw new System.InvalidOperationException();
|
throw new System.InvalidOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
throw new InvalidOperationException();
|
throw new InvalidOperationException();
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ namespace Parser.Internal
|
|||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent)
|
internal override Parser.SyntaxNode CreateRed(Parser.SyntaxNode parent, int position)
|
||||||
{
|
{
|
||||||
throw new InvalidOperationException();
|
throw new InvalidOperationException();
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ namespace Parser
|
|||||||
var green = parser.ParseFile();
|
var green = parser.ParseFile();
|
||||||
var parserDiagnostics = parser.Diagnostics;
|
var parserDiagnostics = parser.Diagnostics;
|
||||||
var totalDiagnostics = new DiagnosticsBag(lexerDiagnostics.Concat(parserDiagnostics));
|
var totalDiagnostics = new DiagnosticsBag(lexerDiagnostics.Concat(parserDiagnostics));
|
||||||
var root = new FileSyntaxNode(null, green);
|
var root = new FileSyntaxNode(null, green, 0);
|
||||||
return new SyntaxTree(root, totalDiagnostics);
|
return new SyntaxTree(root, totalDiagnostics);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,13 +4,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _statementList;
|
private SyntaxNode _statementList;
|
||||||
|
|
||||||
internal FileSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FileSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndOfFile
|
public SyntaxToken EndOfFile
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FileSyntaxNode)_green)._endOfFile); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FileSyntaxNode)_green)._endOfFile, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList StatementList
|
public SyntaxNodeOrTokenList StatementList
|
||||||
@ -48,23 +48,23 @@ namespace Parser
|
|||||||
private SyntaxNode _commas;
|
private SyntaxNode _commas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal FunctionDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FunctionDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken FunctionKeyword
|
public SyntaxToken FunctionKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._functionKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._functionKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Name
|
public SyntaxToken Name
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._name); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._name, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionDeclarationSyntaxNode)_green)._endKeyword, this.GetChildPosition(6)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public FunctionOutputDescriptionSyntaxNode OutputDescription
|
public FunctionOutputDescriptionSyntaxNode OutputDescription
|
||||||
@ -138,13 +138,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _outputList;
|
private SyntaxNode _outputList;
|
||||||
|
|
||||||
internal FunctionOutputDescriptionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FunctionOutputDescriptionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AssignmentSign
|
public SyntaxToken AssignmentSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionOutputDescriptionSyntaxNode)_green)._assignmentSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionOutputDescriptionSyntaxNode)_green)._assignmentSign, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList OutputList
|
public SyntaxNodeOrTokenList OutputList
|
||||||
@ -179,18 +179,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _parameterList;
|
private SyntaxNode _parameterList;
|
||||||
|
|
||||||
internal FunctionInputDescriptionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FunctionInputDescriptionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionInputDescriptionSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionInputDescriptionSyntaxNode)_green)._openingBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionInputDescriptionSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionInputDescriptionSyntaxNode)_green)._closingBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList ParameterList
|
public SyntaxNodeOrTokenList ParameterList
|
||||||
@ -227,18 +227,18 @@ namespace Parser
|
|||||||
private SyntaxNode _optionalCommas;
|
private SyntaxNode _optionalCommas;
|
||||||
private SyntaxNode _cases;
|
private SyntaxNode _cases;
|
||||||
|
|
||||||
internal SwitchStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal SwitchStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken SwitchKeyword
|
public SyntaxToken SwitchKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.SwitchStatementSyntaxNode)_green)._switchKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.SwitchStatementSyntaxNode)_green)._switchKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.SwitchStatementSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.SwitchStatementSyntaxNode)_green)._endKeyword, this.GetChildPosition(4)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode SwitchExpression
|
public ExpressionSyntaxNode SwitchExpression
|
||||||
@ -301,13 +301,13 @@ namespace Parser
|
|||||||
private SyntaxNode _optionalCommas;
|
private SyntaxNode _optionalCommas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal SwitchCaseSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal SwitchCaseSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken CaseKeyword
|
public SyntaxToken CaseKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.SwitchCaseSyntaxNode)_green)._caseKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.SwitchCaseSyntaxNode)_green)._caseKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode CaseIdentifier
|
public ExpressionSyntaxNode CaseIdentifier
|
||||||
@ -370,18 +370,18 @@ namespace Parser
|
|||||||
private SyntaxNode _optionalCommas;
|
private SyntaxNode _optionalCommas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal WhileStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal WhileStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken WhileKeyword
|
public SyntaxToken WhileKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.WhileStatementSyntaxNode)_green)._whileKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.WhileStatementSyntaxNode)_green)._whileKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.WhileStatementSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.WhileStatementSyntaxNode)_green)._endKeyword, this.GetChildPosition(4)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Condition
|
public ExpressionSyntaxNode Condition
|
||||||
@ -444,13 +444,13 @@ namespace Parser
|
|||||||
private SyntaxNode _optionalCommas;
|
private SyntaxNode _optionalCommas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal ElseifClause(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ElseifClause(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ElseifKeyword
|
public SyntaxToken ElseifKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ElseifClause)_green)._elseifKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ElseifClause)_green)._elseifKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Condition
|
public ExpressionSyntaxNode Condition
|
||||||
@ -511,13 +511,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal ElseClause(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ElseClause(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ElseKeyword
|
public SyntaxToken ElseKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ElseClause)_green)._elseKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ElseClause)_green)._elseKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList Body
|
public SyntaxNodeOrTokenList Body
|
||||||
@ -556,18 +556,18 @@ namespace Parser
|
|||||||
private SyntaxNode _elseifClauses;
|
private SyntaxNode _elseifClauses;
|
||||||
private SyntaxNode _elseClause;
|
private SyntaxNode _elseClause;
|
||||||
|
|
||||||
internal IfStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal IfStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken IfKeyword
|
public SyntaxToken IfKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.IfStatementSyntaxNode)_green)._ifKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.IfStatementSyntaxNode)_green)._ifKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.IfStatementSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.IfStatementSyntaxNode)_green)._endKeyword, this.GetChildPosition(6)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Condition
|
public ExpressionSyntaxNode Condition
|
||||||
@ -656,18 +656,18 @@ namespace Parser
|
|||||||
private SyntaxNode _optionalCommas;
|
private SyntaxNode _optionalCommas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal ForStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ForStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ForKeyword
|
public SyntaxToken ForKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ForStatementSyntaxNode)_green)._forKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ForStatementSyntaxNode)_green)._forKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ForStatementSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ForStatementSyntaxNode)_green)._endKeyword, this.GetChildPosition(4)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AssignmentExpressionSyntaxNode Assignment
|
public AssignmentExpressionSyntaxNode Assignment
|
||||||
@ -729,13 +729,13 @@ namespace Parser
|
|||||||
private SyntaxNode _lhs;
|
private SyntaxNode _lhs;
|
||||||
private SyntaxNode _rhs;
|
private SyntaxNode _rhs;
|
||||||
|
|
||||||
internal AssignmentExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal AssignmentExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AssignmentSign
|
public SyntaxToken AssignmentSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.AssignmentExpressionSyntaxNode)_green)._assignmentSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.AssignmentExpressionSyntaxNode)_green)._assignmentSign, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Lhs
|
public ExpressionSyntaxNode Lhs
|
||||||
@ -783,13 +783,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _catchBody;
|
private SyntaxNode _catchBody;
|
||||||
|
|
||||||
internal CatchClauseSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal CatchClauseSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken CatchKeyword
|
public SyntaxToken CatchKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.CatchClauseSyntaxNode)_green)._catchKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.CatchClauseSyntaxNode)_green)._catchKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList CatchBody
|
public SyntaxNodeOrTokenList CatchBody
|
||||||
@ -825,18 +825,18 @@ namespace Parser
|
|||||||
private SyntaxNode _tryBody;
|
private SyntaxNode _tryBody;
|
||||||
private SyntaxNode _catchClause;
|
private SyntaxNode _catchClause;
|
||||||
|
|
||||||
internal TryCatchStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal TryCatchStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken TryKeyword
|
public SyntaxToken TryKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.TryCatchStatementSyntaxNode)_green)._tryKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.TryCatchStatementSyntaxNode)_green)._tryKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.TryCatchStatementSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.TryCatchStatementSyntaxNode)_green)._endKeyword, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList TryBody
|
public SyntaxNodeOrTokenList TryBody
|
||||||
@ -884,7 +884,7 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _expression;
|
private SyntaxNode _expression;
|
||||||
|
|
||||||
internal ExpressionStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ExpressionStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -920,13 +920,13 @@ namespace Parser
|
|||||||
public class EmptyStatementSyntaxNode : StatementSyntaxNode
|
public class EmptyStatementSyntaxNode : StatementSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal EmptyStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EmptyStatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Semicolon
|
public SyntaxToken Semicolon
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EmptyStatementSyntaxNode)_green)._semicolon); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EmptyStatementSyntaxNode)_green)._semicolon, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -948,7 +948,7 @@ namespace Parser
|
|||||||
public class EmptyExpressionSyntaxNode : ExpressionSyntaxNode
|
public class EmptyExpressionSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal EmptyExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EmptyExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -973,13 +973,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _operand;
|
private SyntaxNode _operand;
|
||||||
|
|
||||||
internal UnaryPrefixOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal UnaryPrefixOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Operation
|
public SyntaxToken Operation
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.UnaryPrefixOperationExpressionSyntaxNode)_green)._operation); }
|
get { return new SyntaxToken(this, ((Parser.Internal.UnaryPrefixOperationExpressionSyntaxNode)_green)._operation, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Operand
|
public ExpressionSyntaxNode Operand
|
||||||
@ -1014,7 +1014,7 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal CompoundNameSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal CompoundNameSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1051,13 +1051,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _functionName;
|
private SyntaxNode _functionName;
|
||||||
|
|
||||||
internal NamedFunctionHandleSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal NamedFunctionHandleSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AtSign
|
public SyntaxToken AtSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.NamedFunctionHandleSyntaxNode)_green)._atSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.NamedFunctionHandleSyntaxNode)_green)._atSign, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public CompoundNameSyntaxNode FunctionName
|
public CompoundNameSyntaxNode FunctionName
|
||||||
@ -1093,13 +1093,13 @@ namespace Parser
|
|||||||
private SyntaxNode _input;
|
private SyntaxNode _input;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal LambdaSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal LambdaSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AtSign
|
public SyntaxToken AtSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.LambdaSyntaxNode)_green)._atSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.LambdaSyntaxNode)_green)._atSign, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public FunctionInputDescriptionSyntaxNode Input
|
public FunctionInputDescriptionSyntaxNode Input
|
||||||
@ -1148,13 +1148,13 @@ namespace Parser
|
|||||||
private SyntaxNode _lhs;
|
private SyntaxNode _lhs;
|
||||||
private SyntaxNode _rhs;
|
private SyntaxNode _rhs;
|
||||||
|
|
||||||
internal BinaryOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal BinaryOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Operation
|
public SyntaxToken Operation
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.BinaryOperationExpressionSyntaxNode)_green)._operation); }
|
get { return new SyntaxToken(this, ((Parser.Internal.BinaryOperationExpressionSyntaxNode)_green)._operation, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Lhs
|
public ExpressionSyntaxNode Lhs
|
||||||
@ -1201,13 +1201,13 @@ namespace Parser
|
|||||||
public class IdentifierNameSyntaxNode : ExpressionSyntaxNode
|
public class IdentifierNameSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal IdentifierNameSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal IdentifierNameSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Name
|
public SyntaxToken Name
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.IdentifierNameSyntaxNode)_green)._name); }
|
get { return new SyntaxToken(this, ((Parser.Internal.IdentifierNameSyntaxNode)_green)._name, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1229,13 +1229,13 @@ namespace Parser
|
|||||||
public class NumberLiteralSyntaxNode : ExpressionSyntaxNode
|
public class NumberLiteralSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal NumberLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal NumberLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Number
|
public SyntaxToken Number
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.NumberLiteralSyntaxNode)_green)._number); }
|
get { return new SyntaxToken(this, ((Parser.Internal.NumberLiteralSyntaxNode)_green)._number, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1257,13 +1257,13 @@ namespace Parser
|
|||||||
public class StringLiteralSyntaxNode : ExpressionSyntaxNode
|
public class StringLiteralSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal StringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal StringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken StringToken
|
public SyntaxToken StringToken
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.StringLiteralSyntaxNode)_green)._stringToken); }
|
get { return new SyntaxToken(this, ((Parser.Internal.StringLiteralSyntaxNode)_green)._stringToken, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1285,13 +1285,13 @@ namespace Parser
|
|||||||
public class DoubleQuotedStringLiteralSyntaxNode : ExpressionSyntaxNode
|
public class DoubleQuotedStringLiteralSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal DoubleQuotedStringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal DoubleQuotedStringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken StringToken
|
public SyntaxToken StringToken
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.DoubleQuotedStringLiteralSyntaxNode)_green)._stringToken); }
|
get { return new SyntaxToken(this, ((Parser.Internal.DoubleQuotedStringLiteralSyntaxNode)_green)._stringToken, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1313,13 +1313,13 @@ namespace Parser
|
|||||||
public class UnquotedStringLiteralSyntaxNode : ExpressionSyntaxNode
|
public class UnquotedStringLiteralSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
|
|
||||||
internal UnquotedStringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal UnquotedStringLiteralSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken StringToken
|
public SyntaxToken StringToken
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.UnquotedStringLiteralSyntaxNode)_green)._stringToken); }
|
get { return new SyntaxToken(this, ((Parser.Internal.UnquotedStringLiteralSyntaxNode)_green)._stringToken, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1342,18 +1342,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal ArrayLiteralExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ArrayLiteralExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningSquareBracket
|
public SyntaxToken OpeningSquareBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ArrayLiteralExpressionSyntaxNode)_green)._openingSquareBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ArrayLiteralExpressionSyntaxNode)_green)._openingSquareBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingSquareBracket
|
public SyntaxToken ClosingSquareBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ArrayLiteralExpressionSyntaxNode)_green)._closingSquareBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ArrayLiteralExpressionSyntaxNode)_green)._closingSquareBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList Nodes
|
public SyntaxNodeOrTokenList Nodes
|
||||||
@ -1388,18 +1388,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal CellArrayLiteralExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal CellArrayLiteralExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBrace
|
public SyntaxToken OpeningBrace
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayLiteralExpressionSyntaxNode)_green)._openingBrace); }
|
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayLiteralExpressionSyntaxNode)_green)._openingBrace, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBrace
|
public SyntaxToken ClosingBrace
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayLiteralExpressionSyntaxNode)_green)._closingBrace); }
|
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayLiteralExpressionSyntaxNode)_green)._closingBrace, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList Nodes
|
public SyntaxNodeOrTokenList Nodes
|
||||||
@ -1434,18 +1434,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _expression;
|
private SyntaxNode _expression;
|
||||||
|
|
||||||
internal ParenthesizedExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ParenthesizedExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ParenthesizedExpressionSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ParenthesizedExpressionSyntaxNode)_green)._openingBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ParenthesizedExpressionSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ParenthesizedExpressionSyntaxNode)_green)._closingBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Expression
|
public ExpressionSyntaxNode Expression
|
||||||
@ -1481,18 +1481,18 @@ namespace Parser
|
|||||||
private SyntaxNode _expression;
|
private SyntaxNode _expression;
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal CellArrayElementAccessExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal CellArrayElementAccessExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBrace
|
public SyntaxToken OpeningBrace
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayElementAccessExpressionSyntaxNode)_green)._openingBrace); }
|
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayElementAccessExpressionSyntaxNode)_green)._openingBrace, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBrace
|
public SyntaxToken ClosingBrace
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayElementAccessExpressionSyntaxNode)_green)._closingBrace); }
|
get { return new SyntaxToken(this, ((Parser.Internal.CellArrayElementAccessExpressionSyntaxNode)_green)._closingBrace, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Expression
|
public ExpressionSyntaxNode Expression
|
||||||
@ -1541,18 +1541,18 @@ namespace Parser
|
|||||||
private SyntaxNode _functionName;
|
private SyntaxNode _functionName;
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal FunctionCallExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FunctionCallExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionCallExpressionSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionCallExpressionSyntaxNode)_green)._openingBracket, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.FunctionCallExpressionSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.FunctionCallExpressionSyntaxNode)_green)._closingBracket, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode FunctionName
|
public ExpressionSyntaxNode FunctionName
|
||||||
@ -1601,13 +1601,13 @@ namespace Parser
|
|||||||
private SyntaxNode _leftOperand;
|
private SyntaxNode _leftOperand;
|
||||||
private SyntaxNode _rightOperand;
|
private SyntaxNode _rightOperand;
|
||||||
|
|
||||||
internal MemberAccessSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal MemberAccessSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Dot
|
public SyntaxToken Dot
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.MemberAccessSyntaxNode)_green)._dot); }
|
get { return new SyntaxToken(this, ((Parser.Internal.MemberAccessSyntaxNode)_green)._dot, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNode LeftOperand
|
public SyntaxNode LeftOperand
|
||||||
@ -1655,13 +1655,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _operand;
|
private SyntaxNode _operand;
|
||||||
|
|
||||||
internal UnaryPostixOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal UnaryPostixOperationExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken Operation
|
public SyntaxToken Operation
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.UnaryPostixOperationExpressionSyntaxNode)_green)._operation); }
|
get { return new SyntaxToken(this, ((Parser.Internal.UnaryPostixOperationExpressionSyntaxNode)_green)._operation, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Operand
|
public ExpressionSyntaxNode Operand
|
||||||
@ -1696,18 +1696,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _expression;
|
private SyntaxNode _expression;
|
||||||
|
|
||||||
internal IndirectMemberAccessSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal IndirectMemberAccessSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.IndirectMemberAccessSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.IndirectMemberAccessSyntaxNode)_green)._openingBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.IndirectMemberAccessSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.IndirectMemberAccessSyntaxNode)_green)._closingBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Expression
|
public ExpressionSyntaxNode Expression
|
||||||
@ -1743,7 +1743,7 @@ namespace Parser
|
|||||||
private SyntaxNode _commandName;
|
private SyntaxNode _commandName;
|
||||||
private SyntaxNode _arguments;
|
private SyntaxNode _arguments;
|
||||||
|
|
||||||
internal CommandExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal CommandExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1794,13 +1794,13 @@ namespace Parser
|
|||||||
private SyntaxNode _methodName;
|
private SyntaxNode _methodName;
|
||||||
private SyntaxNode _baseClassNameAndArguments;
|
private SyntaxNode _baseClassNameAndArguments;
|
||||||
|
|
||||||
internal BaseClassInvokationSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal BaseClassInvokationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AtSign
|
public SyntaxToken AtSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.BaseClassInvokationSyntaxNode)_green)._atSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.BaseClassInvokationSyntaxNode)_green)._atSign, this.GetChildPosition(1)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode MethodName
|
public ExpressionSyntaxNode MethodName
|
||||||
@ -1848,13 +1848,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _value;
|
private SyntaxNode _value;
|
||||||
|
|
||||||
internal AttributeAssignmentSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal AttributeAssignmentSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken AssignmentSign
|
public SyntaxToken AssignmentSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.AttributeAssignmentSyntaxNode)_green)._assignmentSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.AttributeAssignmentSyntaxNode)_green)._assignmentSign, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpressionSyntaxNode Value
|
public ExpressionSyntaxNode Value
|
||||||
@ -1890,7 +1890,7 @@ namespace Parser
|
|||||||
private SyntaxNode _name;
|
private SyntaxNode _name;
|
||||||
private SyntaxNode _assignment;
|
private SyntaxNode _assignment;
|
||||||
|
|
||||||
internal AttributeSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal AttributeSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1940,18 +1940,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal AttributeListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal AttributeListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.AttributeListSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.AttributeListSyntaxNode)_green)._openingBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.AttributeListSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.AttributeListSyntaxNode)_green)._closingBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList Nodes
|
public SyntaxNodeOrTokenList Nodes
|
||||||
@ -1990,18 +1990,18 @@ namespace Parser
|
|||||||
private SyntaxNode _commas;
|
private SyntaxNode _commas;
|
||||||
private SyntaxNode _body;
|
private SyntaxNode _body;
|
||||||
|
|
||||||
internal MethodDefinitionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal MethodDefinitionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken FunctionKeyword
|
public SyntaxToken FunctionKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.MethodDefinitionSyntaxNode)_green)._functionKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.MethodDefinitionSyntaxNode)_green)._functionKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.MethodDefinitionSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.MethodDefinitionSyntaxNode)_green)._endKeyword, this.GetChildPosition(6)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public FunctionOutputDescriptionSyntaxNode OutputDescription
|
public FunctionOutputDescriptionSyntaxNode OutputDescription
|
||||||
@ -2090,7 +2090,7 @@ namespace Parser
|
|||||||
private SyntaxNode _name;
|
private SyntaxNode _name;
|
||||||
private SyntaxNode _inputDescription;
|
private SyntaxNode _inputDescription;
|
||||||
|
|
||||||
internal AbstractMethodDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal AbstractMethodDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2154,18 +2154,18 @@ namespace Parser
|
|||||||
private SyntaxNode _attributes;
|
private SyntaxNode _attributes;
|
||||||
private SyntaxNode _methods;
|
private SyntaxNode _methods;
|
||||||
|
|
||||||
internal MethodsListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal MethodsListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken MethodsKeyword
|
public SyntaxToken MethodsKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.MethodsListSyntaxNode)_green)._methodsKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.MethodsListSyntaxNode)_green)._methodsKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.MethodsListSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.MethodsListSyntaxNode)_green)._endKeyword, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttributeListSyntaxNode Attributes
|
public AttributeListSyntaxNode Attributes
|
||||||
@ -2214,18 +2214,18 @@ namespace Parser
|
|||||||
private SyntaxNode _attributes;
|
private SyntaxNode _attributes;
|
||||||
private SyntaxNode _properties;
|
private SyntaxNode _properties;
|
||||||
|
|
||||||
internal PropertiesListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal PropertiesListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken PropertiesKeyword
|
public SyntaxToken PropertiesKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.PropertiesListSyntaxNode)_green)._propertiesKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.PropertiesListSyntaxNode)_green)._propertiesKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.PropertiesListSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.PropertiesListSyntaxNode)_green)._endKeyword, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttributeListSyntaxNode Attributes
|
public AttributeListSyntaxNode Attributes
|
||||||
@ -2273,13 +2273,13 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _baseClasses;
|
private SyntaxNode _baseClasses;
|
||||||
|
|
||||||
internal BaseClassListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal BaseClassListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken LessSign
|
public SyntaxToken LessSign
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.BaseClassListSyntaxNode)_green)._lessSign); }
|
get { return new SyntaxToken(this, ((Parser.Internal.BaseClassListSyntaxNode)_green)._lessSign, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList BaseClasses
|
public SyntaxNodeOrTokenList BaseClasses
|
||||||
@ -2317,18 +2317,18 @@ namespace Parser
|
|||||||
private SyntaxNode _baseClassList;
|
private SyntaxNode _baseClassList;
|
||||||
private SyntaxNode _nodes;
|
private SyntaxNode _nodes;
|
||||||
|
|
||||||
internal ClassDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ClassDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClassdefKeyword
|
public SyntaxToken ClassdefKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ClassDeclarationSyntaxNode)_green)._classdefKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ClassDeclarationSyntaxNode)_green)._classdefKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.ClassDeclarationSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.ClassDeclarationSyntaxNode)_green)._endKeyword, this.GetChildPosition(5)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttributeListSyntaxNode Attributes
|
public AttributeListSyntaxNode Attributes
|
||||||
@ -2402,18 +2402,18 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private SyntaxNode _values;
|
private SyntaxNode _values;
|
||||||
|
|
||||||
internal EnumerationItemValueSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EnumerationItemValueSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken OpeningBracket
|
public SyntaxToken OpeningBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationItemValueSyntaxNode)_green)._openingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationItemValueSyntaxNode)_green)._openingBracket, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken ClosingBracket
|
public SyntaxToken ClosingBracket
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationItemValueSyntaxNode)_green)._closingBracket); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationItemValueSyntaxNode)_green)._closingBracket, this.GetChildPosition(2)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNodeOrTokenList Values
|
public SyntaxNodeOrTokenList Values
|
||||||
@ -2450,7 +2450,7 @@ namespace Parser
|
|||||||
private SyntaxNode _values;
|
private SyntaxNode _values;
|
||||||
private SyntaxNode _commas;
|
private SyntaxNode _commas;
|
||||||
|
|
||||||
internal EnumerationItemSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EnumerationItemSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2514,18 +2514,18 @@ namespace Parser
|
|||||||
private SyntaxNode _attributes;
|
private SyntaxNode _attributes;
|
||||||
private SyntaxNode _items;
|
private SyntaxNode _items;
|
||||||
|
|
||||||
internal EnumerationListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EnumerationListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EnumerationKeyword
|
public SyntaxToken EnumerationKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationListSyntaxNode)_green)._enumerationKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationListSyntaxNode)_green)._enumerationKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationListSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EnumerationListSyntaxNode)_green)._endKeyword, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttributeListSyntaxNode Attributes
|
public AttributeListSyntaxNode Attributes
|
||||||
@ -2574,18 +2574,18 @@ namespace Parser
|
|||||||
private SyntaxNode _attributes;
|
private SyntaxNode _attributes;
|
||||||
private SyntaxNode _events;
|
private SyntaxNode _events;
|
||||||
|
|
||||||
internal EventsListSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal EventsListSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EventsKeyword
|
public SyntaxToken EventsKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EventsListSyntaxNode)_green)._eventsKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EventsListSyntaxNode)_green)._eventsKeyword, this.GetChildPosition(0)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken EndKeyword
|
public SyntaxToken EndKeyword
|
||||||
{
|
{
|
||||||
get { return new SyntaxToken(this, ((Parser.Internal.EventsListSyntaxNode)_green)._endKeyword); }
|
get { return new SyntaxToken(this, ((Parser.Internal.EventsListSyntaxNode)_green)._endKeyword, this.GetChildPosition(3)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttributeListSyntaxNode Attributes
|
public AttributeListSyntaxNode Attributes
|
||||||
|
@ -8,21 +8,41 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
private readonly SyntaxNode _parent;
|
private readonly SyntaxNode _parent;
|
||||||
internal readonly Internal.GreenNode _green;
|
internal readonly Internal.GreenNode _green;
|
||||||
internal SyntaxNode(SyntaxNode parent, Internal.GreenNode green)
|
internal SyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position)
|
||||||
{
|
{
|
||||||
_parent = parent;
|
_parent = parent;
|
||||||
_green = green;
|
_green = green;
|
||||||
|
Position = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TokenKind Kind => _green.Kind;
|
public TokenKind Kind => _green.Kind;
|
||||||
|
|
||||||
public SyntaxNode Parent => _parent;
|
public SyntaxNode Parent => _parent;
|
||||||
|
|
||||||
|
public int Slots => _green.Slots;
|
||||||
|
|
||||||
public ChildNodesAndTokensList GetChildNodesAndTokens()
|
public ChildNodesAndTokensList GetChildNodesAndTokens()
|
||||||
{
|
{
|
||||||
return new ChildNodesAndTokensList(this);
|
return new ChildNodesAndTokensList(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int Position { get; }
|
||||||
|
|
||||||
|
internal int GetChildPosition(int slot)
|
||||||
|
{
|
||||||
|
var result = Position;
|
||||||
|
while (slot > 0)
|
||||||
|
{
|
||||||
|
slot--;
|
||||||
|
var greenChild = _green.GetSlot(slot);
|
||||||
|
if (greenChild != null)
|
||||||
|
{
|
||||||
|
result += greenChild.FullWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
internal abstract SyntaxNode GetNode(int index);
|
internal abstract SyntaxNode GetNode(int index);
|
||||||
|
|
||||||
internal SyntaxNode GetRed(ref SyntaxNode field, int slot)
|
internal SyntaxNode GetRed(ref SyntaxNode field, int slot)
|
||||||
@ -32,7 +52,7 @@ namespace Parser
|
|||||||
var green = _green.GetSlot(slot);
|
var green = _green.GetSlot(slot);
|
||||||
if (green != null)
|
if (green != null)
|
||||||
{
|
{
|
||||||
field = green.CreateRed(this);
|
field = green.CreateRed(this, this.GetChildPosition(slot));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,28 +93,28 @@ namespace Parser
|
|||||||
|
|
||||||
public abstract class StatementSyntaxNode : SyntaxNode
|
public abstract class StatementSyntaxNode : SyntaxNode
|
||||||
{
|
{
|
||||||
internal StatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal StatementSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class ExpressionSyntaxNode : SyntaxNode
|
public abstract class ExpressionSyntaxNode : SyntaxNode
|
||||||
{
|
{
|
||||||
internal ExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal ExpressionSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class FunctionHandleSyntaxNode : ExpressionSyntaxNode
|
public abstract class FunctionHandleSyntaxNode : ExpressionSyntaxNode
|
||||||
{
|
{
|
||||||
internal FunctionHandleSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal FunctionHandleSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class MethodDeclarationSyntaxNode : StatementSyntaxNode
|
public abstract class MethodDeclarationSyntaxNode : StatementSyntaxNode
|
||||||
{
|
{
|
||||||
internal MethodDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green) : base(parent, green)
|
internal MethodDeclarationSyntaxNode(SyntaxNode parent, Internal.GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,18 +11,22 @@
|
|||||||
_token = null;
|
_token = null;
|
||||||
_nodeOrParent = node;
|
_nodeOrParent = node;
|
||||||
_isToken = false;
|
_isToken = false;
|
||||||
|
Position = node.Position;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal SyntaxNodeOrToken(SyntaxNode parent, Internal.GreenNode token)
|
internal SyntaxNodeOrToken(SyntaxNode parent, Internal.GreenNode token, int position)
|
||||||
{
|
{
|
||||||
_token = token;
|
_token = token;
|
||||||
_nodeOrParent = parent;
|
_nodeOrParent = parent;
|
||||||
_isToken = true;
|
_isToken = true;
|
||||||
|
Position = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsToken => _isToken;
|
public bool IsToken => _isToken;
|
||||||
public bool IsNode => !IsToken;
|
public bool IsNode => !IsToken;
|
||||||
|
|
||||||
|
public int Position { get; }
|
||||||
|
|
||||||
public SyntaxNode AsNode()
|
public SyntaxNode AsNode()
|
||||||
{
|
{
|
||||||
if (_isToken)
|
if (_isToken)
|
||||||
@ -39,12 +43,12 @@
|
|||||||
{
|
{
|
||||||
return default(SyntaxToken);
|
return default(SyntaxToken);
|
||||||
}
|
}
|
||||||
return new SyntaxToken(_nodeOrParent, _token);
|
return new SyntaxToken(_nodeOrParent, _token, Position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static implicit operator SyntaxNodeOrToken(SyntaxToken token)
|
public static implicit operator SyntaxNodeOrToken(SyntaxToken token)
|
||||||
{
|
{
|
||||||
return new SyntaxNodeOrToken(token.Parent, token.Token);
|
return new SyntaxNodeOrToken(token.Parent, token.Token, token.Position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static implicit operator SyntaxNodeOrToken(SyntaxNode node)
|
public static implicit operator SyntaxNodeOrToken(SyntaxNode node)
|
||||||
|
@ -7,7 +7,7 @@ namespace Parser
|
|||||||
{
|
{
|
||||||
public class SyntaxNodeOrTokenList : SyntaxNode, IReadOnlyCollection<SyntaxNodeOrToken>
|
public class SyntaxNodeOrTokenList : SyntaxNode, IReadOnlyCollection<SyntaxNodeOrToken>
|
||||||
{
|
{
|
||||||
internal SyntaxNodeOrTokenList(SyntaxNode parent, GreenNode green) : base(parent, green)
|
internal SyntaxNodeOrTokenList(SyntaxNode parent, GreenNode green, int position) : base(parent, green, position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,11 +20,11 @@ namespace Parser
|
|||||||
var green = _green.GetSlot(index);
|
var green = _green.GetSlot(index);
|
||||||
if (green is Internal.SyntaxToken)
|
if (green is Internal.SyntaxToken)
|
||||||
{
|
{
|
||||||
return new SyntaxToken(this, green);
|
return new SyntaxToken(this, green, this.GetChildPosition(index));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return green.CreateRed(this);
|
return green.CreateRed(this, this.GetChildPosition(index));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new ArgumentOutOfRangeException();
|
throw new ArgumentOutOfRangeException();
|
||||||
|
@ -17,15 +17,18 @@ namespace Parser
|
|||||||
return _token.ToString();
|
return _token.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal SyntaxToken(SyntaxNode parent, Internal.GreenNode token)
|
internal SyntaxToken(SyntaxNode parent, Internal.GreenNode token, int position)
|
||||||
{
|
{
|
||||||
_parent = parent;
|
_parent = parent;
|
||||||
_token = token ?? throw new ArgumentNullException(nameof(token));
|
_token = token ?? throw new ArgumentNullException(nameof(token));
|
||||||
|
Position = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxNode Parent => _parent;
|
public SyntaxNode Parent => _parent;
|
||||||
internal Internal.GreenNode Token => _token;
|
internal Internal.GreenNode Token => _token;
|
||||||
|
|
||||||
|
public int Position { get; }
|
||||||
|
|
||||||
public bool Equals(SyntaxToken other)
|
public bool Equals(SyntaxToken other)
|
||||||
{
|
{
|
||||||
return Equals(_parent, other._parent) && Equals(_token, other._token);
|
return Equals(_parent, other._parent) && Equals(_token, other._token);
|
||||||
|
@ -94,9 +94,9 @@ namespace SyntaxGenerator
|
|||||||
|
|
||||||
private static string GenerateConstructor(SyntaxNodeDescription node)
|
private static string GenerateConstructor(SyntaxNodeDescription node)
|
||||||
{
|
{
|
||||||
var arguments = "SyntaxNode parent, Internal.GreenNode green";
|
var arguments = "SyntaxNode parent, Internal.GreenNode green, int position";
|
||||||
var header =
|
var header =
|
||||||
$" internal {node.ClassName}({arguments}) : base(parent, green)\n";
|
$" internal {node.ClassName}({arguments}) : base(parent, green, position)\n";
|
||||||
return header + " {\n }\n";
|
return header + " {\n }\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,8 +132,8 @@ namespace SyntaxGenerator
|
|||||||
|
|
||||||
private static string GenerateCreateRed(SyntaxNodeDescription node)
|
private static string GenerateCreateRed(SyntaxNodeDescription node)
|
||||||
{
|
{
|
||||||
var header = $" internal override {OuterNamespace}.SyntaxNode CreateRed({OuterNamespace}.SyntaxNode parent)\n";
|
var header = $" internal override {OuterNamespace}.SyntaxNode CreateRed({OuterNamespace}.SyntaxNode parent, int position)\n";
|
||||||
var text = $" return new {OuterNamespace}.{node.ClassName}(parent, this);\n";
|
var text = $" return new {OuterNamespace}.{node.ClassName}(parent, this, position);\n";
|
||||||
return header + " {\n" + text + " }\n";
|
return header + " {\n" + text + " }\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,11 +165,11 @@ namespace SyntaxGenerator
|
|||||||
return s[0].ToString().ToUpper() + s.Substring(1, s.Length - 1);
|
return s[0].ToString().ToUpper() + s.Substring(1, s.Length - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GenerateTokenAccessor(SyntaxNodeDescription node, FieldDescription field)
|
private static string GenerateTokenAccessor(SyntaxNodeDescription node, FieldDescription field, int index)
|
||||||
{
|
{
|
||||||
var header = $" public SyntaxToken {Capitalize(field.FieldName)}\n";
|
var header = $" public SyntaxToken {Capitalize(field.FieldName)}\n";
|
||||||
var text =
|
var text =
|
||||||
$" get {{ return new SyntaxToken(this, (({InternalNamespace}.{node.ClassName})_green)._{field.FieldName}); }}";
|
$" get {{ return new SyntaxToken(this, (({InternalNamespace}.{node.ClassName})_green)._{field.FieldName}, this.GetChildPosition({index})); }}";
|
||||||
return header + " {\n" + text + "\n }\n";
|
return header + " {\n" + text + "\n }\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,7 +236,7 @@ namespace SyntaxGenerator
|
|||||||
var tokenAccessors =
|
var tokenAccessors =
|
||||||
string.Join(
|
string.Join(
|
||||||
"\n",
|
"\n",
|
||||||
tokenSlots.Select(pair => GenerateTokenAccessor(node, pair.field)));
|
tokenSlots.Select(pair => GenerateTokenAccessor(node, pair.field, pair.index)));
|
||||||
var nodeAccessors =
|
var nodeAccessors =
|
||||||
string.Join(
|
string.Join(
|
||||||
"\n",
|
"\n",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user