public CGUnaryOperation(VisitorILCodeGeneration <T> visitor, object obj, int indent, UnaryExpression node) { this.codeGenerator = visitor.codeGenerator; this.visitor = visitor; this.obj = obj; this.indent = indent; this.node = node; }
/// <summary> /// /// </summary> /// <param name="visitor"></param> /// <param name="node"></param> /// <param name="codeGenerator"></param> /// <param name="indent"></param> public CGVisitDefinitionNodeOperation(VisitorILCodeGeneration <T> visitor, Definition node, T codeGenerator, int indent, object argument) { this.node = node; this.codeGenerator = codeGenerator; this.indent = indent; this.visitor = visitor; this.argument = argument; }
protected CGBinaryOperation(VisitorILCodeGeneration <T> visitor, object obj, int indent, BinaryExpression node) { this.codeGenerator = visitor.codeGenerator; this.indent = indent; this.visitor = visitor; this.obj = obj; this.node = node; this.node.FirstOperand.Accept(this.visitor, this.obj); }
public CGVisitArithmeticalOp(VisitorILCodeGeneration <T> visitor, ArithmeticExpression node, T codeGenerator, int indent, object obj) { this.node = node; this.codeGenerator = codeGenerator; this.indent = indent; this.visitor = visitor; this.node = node; this.obj = obj; this.globalEnd = codeGenerator.NewLabel; this.FirstOperatorLabel = codeGenerator.NewLabel; }
public CGRelationalOperation(VisitorILCodeGeneration <T> visitor, object obj, int indent, RelationalExpression node) : base(visitor, obj, indent, node) { }
public CGBitwiseOperation(VisitorILCodeGeneration <T> visitor, object obj, int indent, BitwiseExpression node) : base(visitor, obj, indent, node) { }
public CGArithmeticOperation(VisitorILCodeGeneration <T> visitor, object obj, int indent, ArithmeticExpression node) : base(visitor, obj, indent, node) { LoadSecondOperand(); }