Antlr4.StringTemplate.Compiler.TemplateLexer.NextTokenOutside C# (CSharp) Метод

NextTokenOutside() защищенный Метод

protected NextTokenOutside ( ) : IToken
Результат IToken
        protected virtual IToken NextTokenOutside()
        {
            if (input.CharPositionInLine == 0 && (c == ' ' || c == '\t'))
            {
                while (c == ' ' || c == '\t')
                    Consume(); // scarf indent

                if (c != EOF)
                    return NewToken(INDENT);

                return NewToken(TEXT);
            }

            if (c == delimiterStartChar)
            {
                Consume();
                if (c == '!')
                    return MatchComment();

                if (c == '\\')
                    return MatchEscape(); // <\\> <\uFFFF> <\n> etc...

                scanningInsideExpr = true;
                return NewToken(LDELIM);
            }

            if (c == '\r')
            {
                Consume();
                Consume();
                return NewToken(NEWLINE);
            } // \r\n -> \n

            if (c == '\n')
            {
                Consume();
                return NewToken(NEWLINE);
            }

            if (c == '}' && subtemplateDepth > 0)
            {
                scanningInsideExpr = true;
                subtemplateDepth--;
                Consume();
                return NewTokenFromPreviousChar(RCURLY);
            }

            return MatchText();
        }