protected void ParseChildBindingDescriptionInto(MvxSerializableBindingDescription description, ParentIsLookingForComma parentIsLookingForComma = ParentIsLookingForComma.ParentIsLookingForComma) { SkipWhitespace(); description.Function = "Single"; description.Sources = new[] { ParseBindingDescription(parentIsLookingForComma) }; }
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; } } }
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; } } }