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;
        }
Ejemplo n.º 3
0
 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();
 }