in util/json/src/main/java/jetbrains/jetpad/json/JsonLexer.java [42:113]
void next() {
skipSpaces();
if (getCurrent() == -1) {
myTokenKind = null;
return;
}
setTokenStart();
if (getCurrent() == '"') {
readString();
myTokenKind = JsonTokenKind.STRING;
return;
}
if (getCurrent() == ',') {
myTokenKind = JsonTokenKind.COMMA;
advance();
return;
}
if (getCurrent() == '[') {
myTokenKind = JsonTokenKind.LEFT_BRACKET;
advance();
return;
}
if (getCurrent() == ']') {
myTokenKind = JsonTokenKind.RIGHT_BRACKET;
advance();
return;
}
if (isDigit(getCurrent()) || getCurrent() == '-') {
readNumber();
myTokenKind = JsonTokenKind.NUMBER;
return;
}
if (getCurrent() == '{') {
myTokenKind = JsonTokenKind.LEFT_BRACE;
advance();
return;
}
if (getCurrent() == '}') {
myTokenKind = JsonTokenKind.RIGHT_BRACE;
advance();
return;
}
if (getCurrent() == ':') {
myTokenKind = JsonTokenKind.COLON;
advance();
return;
}
if (readString("null")) {
myTokenKind = JsonTokenKind.NULL;
return;
}
if (readString("true")) {
myTokenKind = JsonTokenKind.TRUE;
return;
}
if (readString("false")) {
myTokenKind = JsonTokenKind.FALSE;
return;
}
throw new JsonParsingException();
}