/// <inheritdoc /> protected override Value cloneValue() { AnyIntegerValue value = new AnyIntegerValue(); value.setStorage(getStorage()); return(value); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { result = ArithmeticOperation.AbstractIntegerArithmetic(flow, operation); if (result != null) { return; } base.VisitAnyIntegerValue(value); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { result = ArithmeticOperation.RightAbstractArithmetic(flow, operation, TypeConversion.ToInteger(leftOperand.Value)); if (result != null) { return; } base.VisitAnyIntegerValue(value); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { switch (operation) { case Operations.Identical: result = OutSet.CreateBool(false); break; case Operations.NotIdentical: result = OutSet.CreateBool(true); break; default: base.VisitAnyIntegerValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { switch (operation) { case Operations.Minus: // It can be integer or float result = OutSet.AnyValue; break; case Operations.BitNegation: result = value; break; default: base.VisitAnyIntegerValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { switch (operation) { case Operations.Identical: case Operations.NotIdentical: result = OutSet.AnyBooleanValue; break; default: result = ArithmeticOperation.RightAbstractArithmetic(flow, operation, leftOperand); if (result != null) { break; } base.VisitAnyIntegerValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { int integerValue; double floatValue; bool isInteger; TypeConversion.TryConvertToNumber(leftOperand.Value, true, out integerValue, out floatValue, out isInteger); result = isInteger ? ArithmeticOperation.RightAbstractArithmetic(flow, operation, integerValue) : ArithmeticOperation.RightAbstractArithmetic(flow, operation, floatValue); if (result != null) { return; } base.VisitAnyIntegerValue(value); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { // When comparing, both operands are converted to boolean switch (operation) { case Operations.BitOr: case Operations.BitXor: result = value; break; default: result = ArithmeticOperation.RightAbstractArithmetic(flow, operation, TypeConversion.ToInteger(leftOperand)); if (result != null) { break; } base.VisitAnyIntegerValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { containsInt = true; minInt = Math.Min(minInt, int.MinValue); maxInt = Math.Max(maxInt, int.MaxValue); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { numberFound(); }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { result = OutSet.AnyValue; }
/// <inheritdoc /> public override void VisitAnyIntegerValue(AnyIntegerValue value) { anyIntegerVisitor.SetLeftOperand(value); visitor = anyIntegerVisitor; }