コード例 #1
0
        private bool MatchTokens(JToken leftResult, JToken rightResult)
        {
            JValue jValue  = leftResult as JValue;
            JValue jValue1 = jValue;

            if (jValue != null)
            {
                JValue jValue2 = rightResult as JValue;
                JValue jValue3 = jValue2;
                if (jValue2 == null)
                {
                    goto Label0;
                }
                switch (base.Operator)
                {
                case QueryOperator.Equals:
                {
                    if (!BooleanQueryExpression.EqualsWithStringCoercion(jValue1, jValue3))
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.NotEquals:
                {
                    if (BooleanQueryExpression.EqualsWithStringCoercion(jValue1, jValue3))
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.Exists:
                {
                    return(true);
                }

                case QueryOperator.LessThan:
                {
                    if (jValue1.CompareTo(jValue3) >= 0)
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.LessThanOrEquals:
                {
                    if (jValue1.CompareTo(jValue3) > 0)
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.GreaterThan:
                {
                    if (jValue1.CompareTo(jValue3) <= 0)
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.GreaterThanOrEquals:
                {
                    if (jValue1.CompareTo(jValue3) < 0)
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.RegexEquals:
                {
                    if (!BooleanQueryExpression.RegexEquals(jValue1, jValue3))
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.StrictEquals:
                {
                    if (!BooleanQueryExpression.EqualsWithStrictMatch(jValue1, jValue3))
                    {
                        break;
                    }
                    return(true);
                }

                case QueryOperator.StrictNotEquals:
                {
                    if (BooleanQueryExpression.EqualsWithStrictMatch(jValue1, jValue3))
                    {
                        break;
                    }
                    return(true);
                }
                }
            }
            else
            {
                goto Label0;
            }
            return(false);

Label0:
            if ((int)base.Operator - (int)QueryOperator.NotEquals <= (int)QueryOperator.Equals)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        // Token: 0x06001776 RID: 6006 RVA: 0x000724C4 File Offset: 0x000706C4
        private bool MatchTokens(JToken leftResult, JToken rightResult)
        {
            JValue jvalue = leftResult as JValue;

            if (jvalue != null)
            {
                JValue jvalue2 = rightResult as JValue;
                if (jvalue2 != null)
                {
                    switch (this.Operator)
                    {
                    case QueryOperator.Equals:
                        if (BooleanQueryExpression.EqualsWithStringCoercion(jvalue, jvalue2))
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.NotEquals:
                        if (!BooleanQueryExpression.EqualsWithStringCoercion(jvalue, jvalue2))
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.Exists:
                        return(true);

                    case QueryOperator.LessThan:
                        if (jvalue.CompareTo(jvalue2) < 0)
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.LessThanOrEquals:
                        if (jvalue.CompareTo(jvalue2) <= 0)
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.GreaterThan:
                        if (jvalue.CompareTo(jvalue2) > 0)
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.GreaterThanOrEquals:
                        if (jvalue.CompareTo(jvalue2) >= 0)
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.And:
                    case QueryOperator.Or:
                        return(false);

                    case QueryOperator.RegexEquals:
                        if (BooleanQueryExpression.RegexEquals(jvalue, jvalue2))
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.StrictEquals:
                        if (BooleanQueryExpression.EqualsWithStrictMatch(jvalue, jvalue2))
                        {
                            return(true);
                        }
                        return(false);

                    case QueryOperator.StrictNotEquals:
                        if (!BooleanQueryExpression.EqualsWithStrictMatch(jvalue, jvalue2))
                        {
                            return(true);
                        }
                        return(false);

                    default:
                        return(false);
                    }
                }
            }
            QueryOperator @operator = this.Operator;

            if (@operator - QueryOperator.NotEquals <= 1)
            {
                return(true);
            }
            return(false);
        }