diff --git a/gson/src/main/java/com/google/gson/internal/JsonReaderInternalAccess.java b/gson/src/main/java/com/google/gson/internal/JsonReaderInternalAccess.java deleted file mode 100644 index bbd472040a..0000000000 --- a/gson/src/main/java/com/google/gson/internal/JsonReaderInternalAccess.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2011 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.gson.internal; - -import com.google.gson.stream.JsonReader; -import java.io.IOException; - -/** - * Internal-only APIs of JsonReader available only to other classes in Gson. - */ -public abstract class JsonReaderInternalAccess { - public static JsonReaderInternalAccess INSTANCE; - - /** - * Changes the type of the current property name token to a string value. - */ - public abstract void promoteNameToValue(JsonReader reader) throws IOException; -} diff --git a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java index ec8dcea302..26db41fe83 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java +++ b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java @@ -304,7 +304,7 @@ JsonElement nextJsonElement() throws IOException { return getClass().getSimpleName() + locationString(); } - public void promoteNameToValue() throws IOException { + @Override public void promoteNameToValue() throws IOException { expect(JsonToken.NAME); Iterator i = (Iterator) peekStack(); Map.Entry entry = (Map.Entry) i.next(); diff --git a/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java b/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java index 68ecffb931..8d695626b9 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java +++ b/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java @@ -24,7 +24,6 @@ import com.google.gson.TypeAdapterFactory; import com.google.gson.internal.$Gson$Types; import com.google.gson.internal.ConstructorConstructor; -import com.google.gson.internal.JsonReaderInternalAccess; import com.google.gson.internal.ObjectConstructor; import com.google.gson.internal.Streams; import com.google.gson.reflect.TypeToken; @@ -181,7 +180,7 @@ public Adapter(Gson context, Type keyType, TypeAdapter keyTypeAdapter, } else { in.beginObject(); while (in.hasNext()) { - JsonReaderInternalAccess.INSTANCE.promoteNameToValue(in); + in.promoteNameToValue(); K key = keyTypeAdapter.read(in); V value = valueTypeAdapter.read(in); V replaced = map.put(key, value); diff --git a/gson/src/main/java/com/google/gson/stream/JsonReader.java b/gson/src/main/java/com/google/gson/stream/JsonReader.java index de7aef5ff5..03d6c8d57d 100644 --- a/gson/src/main/java/com/google/gson/stream/JsonReader.java +++ b/gson/src/main/java/com/google/gson/stream/JsonReader.java @@ -16,7 +16,6 @@ package com.google.gson.stream; -import com.google.gson.internal.JsonReaderInternalAccess; import com.google.gson.internal.TroubleshootingGuide; import com.google.gson.internal.bind.JsonTreeReader; import java.io.Closeable; @@ -1690,27 +1689,24 @@ private void consumeNonExecutePrefix() throws IOException { pos += 5; } - static { - JsonReaderInternalAccess.INSTANCE = new JsonReaderInternalAccess() { - @Override public void promoteNameToValue(JsonReader reader) throws IOException { - if (reader instanceof JsonTreeReader) { - ((JsonTreeReader)reader).promoteNameToValue(); - return; - } - int p = reader.peeked; - if (p == PEEKED_NONE) { - p = reader.doPeek(); - } - if (p == PEEKED_DOUBLE_QUOTED_NAME) { - reader.peeked = PEEKED_DOUBLE_QUOTED; - } else if (p == PEEKED_SINGLE_QUOTED_NAME) { - reader.peeked = PEEKED_SINGLE_QUOTED; - } else if (p == PEEKED_UNQUOTED_NAME) { - reader.peeked = PEEKED_UNQUOTED; - } else { - throw reader.unexpectedTokenError("a name"); - } - } - }; + /** + * Changes the type of the current property name token to a string value. + * + * @since $next-version$ + */ + public void promoteNameToValue() throws IOException { + int p = peeked; + if (p == PEEKED_NONE) { + p = doPeek(); + } + if (p == PEEKED_DOUBLE_QUOTED_NAME) { + peeked = PEEKED_DOUBLE_QUOTED; + } else if (p == PEEKED_SINGLE_QUOTED_NAME) { + peeked = PEEKED_SINGLE_QUOTED; + } else if (p == PEEKED_UNQUOTED_NAME) { + peeked = PEEKED_UNQUOTED; + } else { + throw unexpectedTokenError("a name"); + } } }