Beispiel #1
0
        /// <inheritdoc />
        protected override Trilean VerifyCondition(ExecutionContext context, CilInstruction instruction,
                                                   OValue left, OValue right)
        {
            var equal       = left.IsEqualTo(right);
            var greaterThan = left.IsGreaterThan(right);

            if (equal.ToBooleanOrFalse() || greaterThan.ToBooleanOrFalse())
            {
                return(Trilean.True);
            }
            if (!equal.IsKnown || !greaterThan.IsKnown)
            {
                return(Trilean.Unknown);
            }
            return(Trilean.False);
        }
Beispiel #2
0
        /// <inheritdoc />
        protected override DispatchResult Execute(ExecutionContext context, CilInstruction instruction, OValue left, OValue right)
        {
            var result = left.IsGreaterThan(right);

            return(ConvertToI4AndReturnSuccess(context, result));
        }
Beispiel #3
0
 /// <inheritdoc />
 protected override Trilean VerifyCondition(ExecutionContext context, CilInstruction instruction, OValue left,
                                            OValue right)
 {
     return(left.IsGreaterThan(right));
 }