private static Token next()

in codegen/src/main/java/software/amazon/awssdk/codegen/poet/rules2/Tokenizer.java [49:92]


    private static Token next(TokenizerState state) {
        if (!state.hasNext()) {
            return EOF;
        }
        char ch = state.next();
        if (ch == '{') {
            if (state.peek() == '{') {
                state.next();
                return consumeString(state, '{');
            }
            return new Token(TokenKind.OPEN_CURLY, "{");
        }
        if (ch == '}') {
            if (state.peek() == '}') {
                state.next();
                return consumeString(state, '}');
            }
            return new Token(TokenKind.CLOSE_CURLY, "}");
        }
        if (ch == '[') {
            if (state.peek() == '[') {
                state.next();
                return consumeString(state, '[');
            }
            return new Token(TokenKind.OPEN_SQUARE, "[");
        }
        if (ch == ']') {
            if (state.peek() == ']') {
                state.next();
                return consumeString(state, ']');
            }
            return new Token(TokenKind.CLOSE_SQUARE, "]");
        }
        if (ch == '#') {
            return new Token(TokenKind.HASH, "#");
        }
        if (isDigit(ch)) {
            return consumeNumber(state, ch);
        }
        if (isIdentifierStart(ch)) {
            return consumeIdentifierOrString(state, ch);
        }
        return consumeString(state, ch);
    }