public ArrayIndexNode(ExpressionNode expressionNode, NodeLocation location) : base(location) { ExpressionNode = expressionNode; ExpressionNode.ParentNode = this; }
public ParameterArrayDeclarationNode(NodeLocation location, NameNode typeNameNode, NameNode nameNode, ExpressionNode arraySizeNode) : base(location, typeNameNode, nameNode) { ArraySizeNode = arraySizeNode; ArraySizeNode.ParentNode = this; }
public WhileStatementNode(NodeLocation location, ExpressionNode conditionNode, List <StatementNode> bodyNodes) : base(location, conditionNode, bodyNodes) { }
public VarDeclarationNode(NodeLocation location, NameNode typeNameNode, NameNode nameNode, ExpressionNode rightSideNode) : base(location, typeNameNode, nameNode) { if (rightSideNode != null) { rightSideNode.ParentNode = this; } RightSideNode = rightSideNode; }
public ConstDefinitionNode(NodeLocation location, NameNode typeNameNode, NameNode nameNode, ExpressionNode rightSideNode) : base(location, typeNameNode, nameNode, rightSideNode) { }
public BinaryExpressionNode(NodeLocation location, BinaryOperator @operator, NodeLocation operatorLocation, ExpressionNode leftSideNode, ExpressionNode rightSideNode) : base(location) { leftSideNode.ParentNode = this; rightSideNode.ParentNode = this; Operator = @operator; LeftSideNode = leftSideNode; RightSideNode = rightSideNode; OperatorLocation = operatorLocation; }
public UnaryExpressionNode(NodeLocation location, UnaryOperator @operator, NodeLocation operatorLocation, ExpressionNode expressionNode) : base( location) { expressionNode.ParentNode = this; Operator = @operator; ExpressionNode = expressionNode; OperatorLocation = operatorLocation; DoGenerateOperatorInstruction = true; }
public AssignmentNode(NodeLocation location, NodeLocation operatorLocation, ReferenceNode leftSideNode, ExpressionNode rightSideNode) : base(location) { leftSideNode.ParentNode = this; rightSideNode.ParentNode = this; OperatorLocation = operatorLocation; LeftSideNode = leftSideNode; RightSideNode = rightSideNode; }