what-the-bank/sources/com/google/gson/JsonStreamParser.java

72 lines
2.2 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package com.google.gson;
import com.google.gson.internal.Streams;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.MalformedJsonException;
import java.io.EOFException;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.Iterator;
import java.util.NoSuchElementException;
/* loaded from: classes2.dex */
public final class JsonStreamParser implements Iterator<JsonElement> {
private final Object lock;
private final JsonReader parser;
public JsonStreamParser(String str) {
this(new StringReader(str));
}
public JsonStreamParser(Reader reader) {
JsonReader jsonReader = new JsonReader(reader);
this.parser = jsonReader;
jsonReader.setLenient(true);
this.lock = new Object();
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // java.util.Iterator
public final JsonElement next() throws JsonParseException {
if (!hasNext()) {
throw new NoSuchElementException();
}
try {
return Streams.parse(this.parser);
} catch (JsonParseException e) {
if (e.getCause() instanceof EOFException) {
throw new NoSuchElementException();
}
throw e;
} catch (OutOfMemoryError e2) {
throw new JsonParseException("Failed parsing JSON source to Json", e2);
} catch (StackOverflowError e3) {
throw new JsonParseException("Failed parsing JSON source to Json", e3);
}
}
@Override // java.util.Iterator
public final boolean hasNext() {
boolean z;
synchronized (this.lock) {
try {
try {
z = this.parser.peek() != JsonToken.END_DOCUMENT;
} catch (IOException e) {
throw new JsonIOException(e);
}
} catch (MalformedJsonException e2) {
throw new JsonSyntaxException(e2);
}
}
return z;
}
@Override // java.util.Iterator
public final void remove() {
throw new UnsupportedOperationException();
}
}