/// <summary> /// Initializes a new instance of the <see cref="BinaryOperationEvaluator" /> class. /// </summary> /// <param name="flowController">Flow controller of program point.</param> /// <param name="booleanEvaluator">Boolean converter for logical operations.</param> /// <param name="stringEvaluator">String converter for concatenation.</param> public BinaryOperationEvaluator(FlowController flowController, BooleanConverter booleanEvaluator, StringConverter stringEvaluator) : base(flowController) { booleanConverter = booleanEvaluator; stringConverter = stringEvaluator; booleanVisitor = new LeftBooleanOperandVisitor(); integerVisitor = new LeftIntegerOperandVisitor(); floatVisitor = new LeftFloatOperandVisitor(); stringVisitor = new LeftStringOperandVisitor(); objectVisitor = new LeftObjectOperandVisitor(); arrayVisitor = new LeftArrayOperandVisitor(); resourceVisitor = new LeftResourceOperandVisitor(); nullVisitor = new LeftNullOperandVisitor(); integerIntervalVisitor = new LeftIntegerIntervalOperandVisitor(); floatIntervalVisitor = new LeftFloatIntervalOperandVisitor(); anyValueVisitor = new LeftAnyValueOperandVisitor(); anyBooleanVisitor = new LeftAnyBooleanOperandVisitor(); anyIntegerVisitor = new LeftAnyIntegerOperandVisitor(); anyFloatVisitor = new LeftAnyFloatOperandVisitor(); anyStringVisitor = new LeftAnyStringOperandVisitor(); anyArrayVisitor = new LeftAnyArrayOperandVisitor(); }
/// <summary> /// Initializes a new instance of the <see cref="BinaryOperationEvaluator" /> class. /// </summary> /// <param name="booleanEvaluator">Boolean converter for logical operations.</param> /// <param name="stringEvaluator">String converter for concatenation.</param> public BinaryOperationEvaluator(BooleanConverter booleanEvaluator, StringConverter stringEvaluator) : this(null, booleanEvaluator, stringEvaluator) { }