public final Object read(JsonReader jsonreader) { if (b == null) { return a().read(jsonreader); } jsonreader = Streams.parse(jsonreader); if (jsonreader.isJsonNull()) { return null; } else { return b.deserialize(jsonreader, d.getType(), c.deserializationContext); } }
public final Object read(JsonReader jsonreader) { JsonToken jsontoken = jsonreader.peek(); static final class _cls1 { static final int a[]; static { a = new int[JsonToken.values().length]; try { a[JsonToken.BEGIN_ARRAY.ordinal()] = 1; } catch (NoSuchFieldError nosuchfielderror5) { } try { a[JsonToken.BEGIN_OBJECT.ordinal()] = 2; } catch (NoSuchFieldError nosuchfielderror4) { } try { a[JsonToken.STRING.ordinal()] = 3; } catch (NoSuchFieldError nosuchfielderror3) { } try { a[JsonToken.NUMBER.ordinal()] = 4; } catch (NoSuchFieldError nosuchfielderror2) { } try { a[JsonToken.BOOLEAN.ordinal()] = 5; } catch (NoSuchFieldError nosuchfielderror1) { } try { a[JsonToken.NULL.ordinal()] = 6; } catch (NoSuchFieldError nosuchfielderror) { return; } } } switch (_cls1.a[jsontoken.ordinal()]) { default: throw new IllegalStateException(); case 1: // '\001' ArrayList arraylist = new ArrayList(); jsonreader.beginArray(); for (; jsonreader.hasNext(); arraylist.add(read(jsonreader))) { } jsonreader.endArray(); return arraylist; case 2: // '\002' LinkedTreeMap linkedtreemap = new LinkedTreeMap(); jsonreader.beginObject(); for (; jsonreader.hasNext(); linkedtreemap.put(jsonreader.nextName(), read(jsonreader))) { } jsonreader.endObject(); return linkedtreemap; case 3: // '\003' return jsonreader.nextString(); case 4: // '\004' return Double.valueOf(jsonreader.nextDouble()); case 5: // '\005' return Boolean.valueOf(jsonreader.nextBoolean()); case 6: // '\006' jsonreader.nextNull(); return null; } }