protected char seekTo(String seek, Source source) { while (source.hasNext()) { char c = source.peek(); if (seek.indexOf(c) >= 0) { return c; } if (!Character.isWhitespace(c)) throw new IllegalStateException("Unexpected '" + c + "' while seeking one of '" + seek + "'"); source.next(); } throw new IllegalStateException("Expected one of '" + seek + "'"); }
protected String parseString(Source source) if (source.next() != '"') throw new IllegalStateException(); final char[] scratch = source.scratchBuffer(); while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++] = uc; break; while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); builder.append(uc); break;
protected String parseString(Source source) if (source.next() != '"') throw new IllegalStateException(); final char[] scratch = source.scratchBuffer(); while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++] = uc; break; while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); builder.append(uc); break;
protected String parseString(Source source) if (source.next() != '"') throw new IllegalStateException(); final char[] scratch = source.scratchBuffer(); while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++] = uc; break; while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); builder.append(uc); break;
protected String parseString(Source source) if (source.next() != '"') throw new IllegalStateException(); final char[] scratch = source.scratchBuffer(); while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++] = uc; break; while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); builder.append(uc); break;
protected String parseString(Source source) if (source.next() != '"') throw new IllegalStateException(); final char[] scratch = source.scratchBuffer(); while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++] = uc; break; while (source.hasNext()) char c = source.next(); break; case 'u': char uc = (char)((TypeUtil.convertHexDigit((byte)source.next()) << 12) + (TypeUtil.convertHexDigit((byte)source.next()) << 8) + (TypeUtil.convertHexDigit((byte)source.next()) << 4) + (TypeUtil.convertHexDigit((byte)source.next()))); builder.append(uc); break;
longLoop: while (source.hasNext()) char c = source.peek(); switch (c) case '9': number = number * 10 + (c - '0'); source.next(); break; throw new IllegalStateException("bad number"); minus = true; source.next(); break; buffer.append(number); buffer.append(c); source.next(); break longLoop; doubleLoop: while (source.hasNext()) char c = source.peek(); switch (c) case 'E': buffer.append(c); source.next(); break;
longLoop: while (source.hasNext()) char c = source.peek(); switch (c) case '9': number = number * 10 + (c - '0'); source.next(); break; throw new IllegalStateException("bad number"); minus = true; source.next(); break; buffer.append(number); buffer.append(c); source.next(); break longLoop; doubleLoop: while (source.hasNext()) char c = source.peek(); switch (c) case 'E': buffer.append(c); source.next(); break;
longLoop: while (source.hasNext()) char c = source.peek(); switch (c) case '9': number = number * 10 + (c - '0'); source.next(); break; throw new IllegalStateException("bad number"); minus = true; source.next(); break; buffer.append(number); buffer.append(c); source.next(); break longLoop; doubleLoop: while (source.hasNext()) char c = source.peek(); switch (c) case 'E': buffer.append(c); source.next(); break;
protected Object parseArray(Source source) if (source.next() != '[') throw new IllegalStateException(); boolean coma = true; while (source.hasNext()) char c = source.peek(); switch (c) source.next(); switch (size) throw new IllegalStateException(); coma = true; source.next(); break; source.next(); else