コード例 #1
0
 protected void ParseChildBindingDescriptionInto(MvxSerializableBindingDescription description,
                                                 ParentIsLookingForComma parentIsLookingForComma = ParentIsLookingForComma.ParentIsLookingForComma)
 {
     SkipWhitespace();
     description.Function = "Single";
     description.Sources  = new[]
     {
         ParseBindingDescription(parentIsLookingForComma)
     };
 }
コード例 #2
0
        protected virtual MvxSerializableBindingDescription ParseBindingDescription(
            ParentIsLookingForComma parentIsLookingForComma)
        {
            var description = new MvxSerializableBindingDescription();

            SkipWhitespace();

            while (true)
            {
                ParseNextBindingDescriptionOptionInto(description);

                SkipWhitespace();
                if (IsComplete)
                {
                    return(description);
                }

                switch (CurrentChar)
                {
                case ',':
                    if (parentIsLookingForComma == ParentIsLookingForComma.ParentIsLookingForComma)
                    {
                        return(description);
                    }

                    MoveNext();
                    break;

                case ';':
                case ')':
                    return(description);

                default:
                    if (DetectOperator())
                    {
                        ParseOperatorWithLeftHand(description);
                    }
                    else
                    {
                        throw new MvxException(
                                  "Unexpected character {0} at position {1} in {2} - expected string-end, ',' or ';'",
                                  CurrentChar,
                                  CurrentIndex,
                                  FullText);
                    }
                    break;
                }
            }
        }
コード例 #3
0
        protected virtual MvxSerializableBindingDescription ParseBindingDescription(
            ParentIsLookingForComma parentIsLookingForComma)
        {
            var description = new MvxSerializableBindingDescription();
            SkipWhitespace();

            while (true)
            {
                ParseNextBindingDescriptionOptionInto(description);

                SkipWhitespace();
                if (IsComplete)
                    return description;

                switch (CurrentChar)
                {
                    case ',':
                        if (parentIsLookingForComma == ParentIsLookingForComma.ParentIsLookingForComma)
                            return description;

                        MoveNext();
                        break;

                    case ';':
                    case ')':
                        return description;

                    default:
                        if (DetectOperator())
                            ParseOperatorWithLeftHand(description);
                        else
                            throw new MvxException(
                                "Unexpected character {0} at position {1} in {2} - expected string-end, ',' or ';'",
                                CurrentChar,
                                CurrentIndex,
                                FullText);
                        break;
                }
            }
        }
コード例 #4
0
 protected void ParseChildBindingDescriptionInto(MvxSerializableBindingDescription description,
                                                 ParentIsLookingForComma parentIsLookingForComma =
                                                     ParentIsLookingForComma.ParentIsLookingForComma)
 {
     SkipWhitespace();
     description.Function = "Single";
     description.Sources = new[]
         {
             ParseBindingDescription(parentIsLookingForComma)
         };
 }