/// <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); }
/// <inheritdoc /> protected override DispatchResult Execute(ExecutionContext context, CilInstruction instruction, OValue left, OValue right) { var result = left.IsGreaterThan(right); return(ConvertToI4AndReturnSuccess(context, result)); }
/// <inheritdoc /> protected override Trilean VerifyCondition(ExecutionContext context, CilInstruction instruction, OValue left, OValue right) { return(left.IsGreaterThan(right)); }