AjTalk.Compiler.Lexer.NextDottedName C# (CSharp) Метод

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

private NextDottedName ( string name ) : Token
name string
Результат Token
        private Token NextDottedName(string name)
        {
            StringBuilder sb = new StringBuilder(10);
            sb.Append(name);

            int ch;

            ch = this.NextChar();

            while (ch >= 0 && char.IsLetterOrDigit((char)ch))
            {
                sb.Append((char)ch);
                ch = this.NextChar();
            }

            if (ch >= 0 && ch == '.')
            {
                var peek = this.PeekChar();
                if (peek >= 0 && char.IsLetter((char)peek) && char.IsUpper((char)peek))
                {
                    sb.Append((char)ch);
                    return this.NextDottedName(sb.ToString());
                }
            }

            this.PushChar(ch);

            Token token = new Token();
            token.Type = TokenType.DottedName;
            token.Value = sb.ToString();

            return token;
        }