Alba.Jaml.MSInternal.MePullParser.P_MarkupExtension C# (CSharp) Метод

P_MarkupExtension() приватный Метод

private P_MarkupExtension ( Found f ) : IEnumerable
f Found
Результат IEnumerable
        private IEnumerable<XamlNode> P_MarkupExtension (Found f)
        {
            if (this.Expect(MeTokenType.Open, "MarkupExtension ::= @'{' Expr '}'")) {
                this.NextToken();
                if (this._tokenizer.Token != MeTokenType.TypeName) {
                    this.SetBrokenRuleString("MarkupExtension ::= '{' @TYPENAME (Arguments)? '}'");
                }
                else {
                    XamlType tokenType = this._tokenizer.TokenType;
                    yield return this.Logic_StartElement(tokenType, this._tokenizer.Namespace);
                    this.NextToken();
                    Found iteratorVariable1 = new Found();
                    switch (this._tokenizer.Token) {
                        case MeTokenType.PropertyName:
                        case MeTokenType.String:
                        case MeTokenType.QuotedMarkupExtension:
                        case MeTokenType.Open: {
                            IEnumerator<XamlNode> enumerator = this.P_Arguments(iteratorVariable1).GetEnumerator();
                            while (enumerator.MoveNext()) {
                                XamlNode current = enumerator.Current;
                                yield return current;
                            }
                            break;
                        }
                        default:
                            /*this.SetBrokenRuleString("MarkupExtension ::= '{' TYPENAME @(Arguments)? '}'");
                            break;*/
                            yield return this.Logic_EndObject();
                            this.NextToken();
                            f.found = true;
                            break;
                    }
                    if (iteratorVariable1.found && this.Expect(MeTokenType.Close, "MarkupExtension ::= '{' TYPENAME (Arguments)? @'}'")) {
                        yield return this.Logic_EndObject();
                        f.found = true;
                        this.NextToken();
                    }
                }
            }
        }