Bike.Parser.Parser.ParseTypeDescriptor C# (CSharp) Метод

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

private ParseTypeDescriptor ( ) : TypeDescriptor
Результат TypeDescriptor
        private TypeDescriptor ParseTypeDescriptor()
        {
            var td = new TypeDescriptor() { Token = Next() };
            var name = new StringBuilder();
            name.Append(ParseIdentifier().Value);
            bool hasTypeDescriptor = false;
            while (Next().Is(TokenType.Dot) || Next().Is(TokenType.LessThan))
            {
                if (Next().Is(TokenType.Dot))
                {
                    if (hasTypeDescriptor)
                        Error("Invalid type definition", Next());
                    Match(TokenType.Dot);
                    name.Append(".");
                    name.Append(ParseIdentifier().Value);
                }
                else
                {
                    hasTypeDescriptor = true;
                    Match(TokenType.LessThan);
                    td.TypeDescriptors.Add(ParseTypeDescriptor());
                    while (Next().Is(TokenType.Comma))
                    {
                        Match(TokenType.Comma);
                        td.TypeDescriptors.Add(ParseTypeDescriptor());
                    }
                    Match(TokenType.GreaterThan);
                }
            }

            td.Name = name.ToString();
            return td;
        }