예제 #1
0
파일: Bge.cs 프로젝트: mirec12590/Echo
        /// <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);
        }
예제 #2
0
        /// <inheritdoc />
        protected override DispatchResult Execute(ExecutionContext context, CilInstruction instruction, OValue left, OValue right)
        {
            var result = left.IsGreaterThan(right);

            return(ConvertToI4AndReturnSuccess(context, result));
        }
예제 #3
0
파일: Bgt.cs 프로젝트: mirec12590/Echo
 /// <inheritdoc />
 protected override Trilean VerifyCondition(ExecutionContext context, CilInstruction instruction, OValue left,
                                            OValue right)
 {
     return(left.IsGreaterThan(right));
 }