package com.google.gson; import com.google.gson.internal.LazilyParsedNumber; import com.google.gson.stream.JsonReader; import com.google.gson.stream.MalformedJsonException; import java.io.IOException; import java.math.BigDecimal; /* loaded from: classes.dex */ public enum ToNumberPolicy implements ToNumberStrategy { DOUBLE { // from class: com.google.gson.ToNumberPolicy.1 @Override // com.google.gson.ToNumberStrategy public final Double readNumber(JsonReader jsonReader) throws IOException { return Double.valueOf(jsonReader.nextDouble()); } }, LAZILY_PARSED_NUMBER { // from class: com.google.gson.ToNumberPolicy.2 @Override // com.google.gson.ToNumberStrategy public final Number readNumber(JsonReader jsonReader) throws IOException { return new LazilyParsedNumber(jsonReader.nextString()); } }, LONG_OR_DOUBLE { // from class: com.google.gson.ToNumberPolicy.3 @Override // com.google.gson.ToNumberStrategy public final Number readNumber(JsonReader jsonReader) throws IOException, JsonParseException { String nextString = jsonReader.nextString(); try { try { return Long.valueOf(Long.parseLong(nextString)); } catch (NumberFormatException e) { StringBuilder sb = new StringBuilder("Cannot parse "); sb.append(nextString); sb.append("; at path "); sb.append(jsonReader.getPath()); throw new JsonParseException(sb.toString(), e); } } catch (NumberFormatException unused) { Double valueOf = Double.valueOf(nextString); if ((!valueOf.isInfinite() && !valueOf.isNaN()) || jsonReader.isLenient()) { return valueOf; } StringBuilder sb2 = new StringBuilder("JSON forbids NaN and infinities: "); sb2.append(valueOf); sb2.append("; at path "); sb2.append(jsonReader.getPath()); throw new MalformedJsonException(sb2.toString()); } } }, BIG_DECIMAL { // from class: com.google.gson.ToNumberPolicy.4 @Override // com.google.gson.ToNumberStrategy public final BigDecimal readNumber(JsonReader jsonReader) throws IOException { String nextString = jsonReader.nextString(); try { return new BigDecimal(nextString); } catch (NumberFormatException e) { StringBuilder sb = new StringBuilder("Cannot parse "); sb.append(nextString); sb.append("; at path "); sb.append(jsonReader.getPath()); throw new JsonParseException(sb.toString(), e); } } } }