public AssignmentStatementNode(IdentifierNode variable, ExpressionNode expression) { Variable = variable; Expression = expression; }
public UnaryExpressionNode(Operator @operator, ExpressionNode child) { Operator = @operator; Child = child; }
public WhileStatementNode(ExpressionNode condition, StatementNode body) { Condition = condition; Body = body; }
public ReturnStatementNode(ExpressionNode expression) { Expression = expression; }
public IfStatementNode(ExpressionNode condition, StatementNode thenBody, StatementNode elseBody) { Condition = condition; ThenBody = thenBody; ElseBody = elseBody; }
public BinaryExpressionNode(ExpressionNode left, Operator @operator, ExpressionNode right) { Left = left; Operator = @operator; Right = right; }
public void AddArgument(ExpressionNode expressionNode) { this.arguments.Add(expressionNode); }
public ArrayProperty(TokenType valueType, ExpressionNode sizeExpression = null, int declarationRow = int.MaxValue, bool redeclaration = false) : base(declarationRow, true, true, redeclaration: redeclaration) { this.arrayElementType = valueType; this.sizeExpression = sizeExpression; }