コード例 #1
0
 /// <inheritdoc />
 public override void VisitResourceValue(ResourceValue value)
 {
     // Every binary operation converts resource to another type, but conversion to another type
     // makes no sence expect boolean that is always true. Thou we do not need concrete resource.
     resourceVisitor.SetLeftOperand(OutSet.AnyResourceValue);
     visitor = resourceVisitor;
 }
コード例 #2
0
 /// <inheritdoc />
 public override void VisitObjectValue(ObjectValue value)
 {
     // Almost every binary operation converts object to another type. If object is converted
     // into boolean, it is always true. Exact comparing of objects is complicated to achieve.
     // And comparison into string calls "__toString" magic method. that is not currently supported.
     // Thou we do not need concrete object.
     objectVisitor.SetLeftOperand(OutSet.AnyObjectValue);
     visitor = objectVisitor;
 }
コード例 #3
0
 /// <inheritdoc />
 public override void VisitAnyResourceValue(AnyResourceValue value)
 {
     resourceVisitor.SetLeftOperand(value);
     visitor = resourceVisitor;
 }
コード例 #4
0
 /// <inheritdoc />
 public override void VisitAnyArrayValue(AnyArrayValue value)
 {
     anyArrayVisitor.SetLeftOperand(value);
     visitor = anyArrayVisitor;
 }
コード例 #5
0
 /// <inheritdoc />
 public override void VisitAnyObjectValue(AnyObjectValue value)
 {
     objectVisitor.SetLeftOperand(value);
     visitor = objectVisitor;
 }
コード例 #6
0
 /// <inheritdoc />
 public override void VisitAnyStringValue(AnyStringValue value)
 {
     anyStringVisitor.SetLeftOperand(value);
     visitor = anyStringVisitor;
 }
コード例 #7
0
 /// <inheritdoc />
 public override void VisitAnyIntegerValue(AnyIntegerValue value)
 {
     anyIntegerVisitor.SetLeftOperand(value);
     visitor = anyIntegerVisitor;
 }
コード例 #8
0
 /// <inheritdoc />
 public override void VisitAnyBooleanValue(AnyBooleanValue value)
 {
     anyBooleanVisitor.SetLeftOperand(value);
     visitor = anyBooleanVisitor;
 }
コード例 #9
0
 /// <inheritdoc />
 public override void VisitIntervalFloatValue(FloatIntervalValue value)
 {
     floatIntervalVisitor.SetLeftOperand(value);
     visitor = floatIntervalVisitor;
 }
コード例 #10
0
 /// <inheritdoc />
 public override void VisitIntervalIntegerValue(IntegerIntervalValue value)
 {
     integerIntervalVisitor.SetLeftOperand(value);
     visitor = integerIntervalVisitor;
 }
コード例 #11
0
 /// <inheritdoc />
 public override void VisitUndefinedValue(UndefinedValue value)
 {
     nullVisitor.SetLeftOperand(value);
     visitor = nullVisitor;
 }
コード例 #12
0
 /// <inheritdoc />
 public override void VisitAssociativeArray(AssociativeArray value)
 {
     arrayVisitor.SetLeftOperand(value);
     visitor = arrayVisitor;
 }
コード例 #13
0
 /// <inheritdoc />
 public override void VisitStringValue(StringValue value)
 {
     stringVisitor.SetLeftOperand(value);
     visitor = stringVisitor;
 }
コード例 #14
0
 /// <inheritdoc />
 public override void VisitBooleanValue(BooleanValue value)
 {
     booleanVisitor.SetLeftOperand(value);
     visitor = booleanVisitor;
 }