JsonToken () { int p = peeked; if (p == PEEKED_NONE) { p = doPeek(); } return switch (p) { case PEEKED_BEGIN_OBJECT -> JsonToken.BEGIN_OBJECT; case PEEKED_END_OBJECT -> JsonToken.END_OBJECT; case PEEKED_BEGIN_ARRAY -> JsonToken.BEGIN_ARRAY; case PEEKED_END_ARRAY -> JsonToken.END_ARRAY; case PEEKED_SINGLE_QUOTED_NAME, PEEKED_DOUBLE_QUOTED_NAME, PEEKED_UNQUOTED_NAME -> JsonToken.NAME; case PEEKED_TRUE, PEEKED_FALSE -> JsonToken.BOOLEAN; case PEEKED_NULL -> JsonToken.NULL; case PEEKED_SINGLE_QUOTED, PEEKED_DOUBLE_QUOTED, PEEKED_UNQUOTED, PEEKED_BUFFERED -> JsonToken.STRING; case PEEKED_LONG, PEEKED_NUMBER -> JsonToken.NUMBER; case PEEKED_EOF -> JsonToken.END_DOCUMENT; default -> throw new AssertionError(); }; }