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);
}