Example #1
0
        /// <inheritdoc />
        protected override Value cloneValue()
        {
            AnyIntegerValue value = new AnyIntegerValue();

            value.setStorage(getStorage());
            return(value);
        }
Example #2
0
        /// <inheritdoc />
        public override void VisitAnyIntegerValue(AnyIntegerValue value)
        {
            result = ArithmeticOperation.AbstractIntegerArithmetic(flow, operation);
            if (result != null)
            {
                return;
            }

            base.VisitAnyIntegerValue(value);
        }
Example #3
0
        /// <inheritdoc />
        public override void VisitAnyIntegerValue(AnyIntegerValue value)
        {
            result = ArithmeticOperation.RightAbstractArithmetic(flow, operation,
                                                                 TypeConversion.ToInteger(leftOperand.Value));
            if (result != null)
            {
                return;
            }

            base.VisitAnyIntegerValue(value);
        }
Example #4
0
        /// <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;
            }
        }
Example #5
0
        /// <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;
            }
        }
Example #6
0
        /// <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;
            }
        }
Example #7
0
        /// <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);
        }
Example #8
0
        /// <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;
            }
        }
Example #9
0
 /// <inheritdoc />
 public override void VisitAnyIntegerValue(AnyIntegerValue value)
 {
     containsInt = true;
     minInt      = Math.Min(minInt, int.MinValue);
     maxInt      = Math.Max(maxInt, int.MaxValue);
 }
Example #10
0
 /// <inheritdoc />
 public override void VisitAnyIntegerValue(AnyIntegerValue value)
 {
     numberFound();
 }
Example #11
0
 /// <inheritdoc />
 public override void VisitAnyIntegerValue(AnyIntegerValue value)
 {
     result = OutSet.AnyValue;
 }
Example #12
0
 /// <inheritdoc />
 public override void VisitAnyIntegerValue(AnyIntegerValue value)
 {
     anyIntegerVisitor.SetLeftOperand(value);
     visitor = anyIntegerVisitor;
 }