public Method(Block superBlock, string name, string returnType, Parameter[] parameters) : base(superBlock) { this.name = name; this.returnType = returnType; this.parameters = parameters; }
public AssignStatement(Block superBlock, string name, string type, IExpression value) : base(superBlock) { this.name = name; this.type = type; this.value = value; this.superBlock = superBlock; }
public Variable(Block block, VariableType type, string name, object value) : base(type, value) { this.block = block; this.name = name; }
public PrintStatement(Block superBlock, IExpression expression) : base(null) { this.expression = expression; }
public void AddBlock(Block block) { subBlocks.Add(block); }
public Block(Block superBlock) { this.superBlock = superBlock; subBlocks = new List<Block>(); variables = new List<Variable>(); }