public LoopNode(int uniqueId, int uniqueCond, AbstractExpressionNode condition, AbstractStatementNode iteration, AbstractStatementNode statement)
     : base(NodeType.Loop)
 {
     UniqueId    = uniqueId;
     Conditional = new ConditionalNode(uniqueCond, condition, statement, new BlockNode(new BreakNode(UniqueId)));
     Iteration   = iteration;
 }
 public FunctionNode(ObjectType returnType, FunctionIdentifierNode identifier, List <AbstractExpressionNode> arguments, AbstractStatementNode stmt) : base(NodeType.Function)
 {
     ReturnType = returnType;
     Identifier = identifier;
     Arguments  = arguments;
     Statement  = stmt;
 }
Exemple #3
0
 public ConditionalNode(int uniqueId, AbstractExpressionNode expression, AbstractStatementNode trueStatement, AbstractStatementNode falseStatement) : base(NodeType.Conditional)
 {
     UniqueId       = uniqueId;
     Expression     = expression;
     TrueStatement  = trueStatement;
     FalseStatement = falseStatement;
 }
 public LoopNode(int uniqueId, int uniqueCond, AbstractExpressionNode condition, AbstractStatementNode statement)
     : this(uniqueId, uniqueCond, condition, new BlockNode(), statement)
 {
 }
 private static AbstractStatementNode DropReturn(AbstractStatementNode node) =>
 new BlockNode
 (
     node,
     new DropNode()
 );