diff --git a/gson/src/main/java/com/google/gson/GsonBuilder.java b/gson/src/main/java/com/google/gson/GsonBuilder.java index 40fcc40655..21ff96df61 100644 --- a/gson/src/main/java/com/google/gson/GsonBuilder.java +++ b/gson/src/main/java/com/google/gson/GsonBuilder.java @@ -675,7 +675,7 @@ public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) { || typeAdapter instanceof InstanceCreator || typeAdapter instanceof TypeAdapter); - if(isTypeObjectOrJsonElement(type)){ + if (isTypeObjectOrJsonElement(type)){ throw new IllegalArgumentException("Cannot override built-in adapter for " + type); } @@ -695,9 +695,9 @@ public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) { } private boolean isTypeObjectOrJsonElement(Type type) { - return (!(type instanceof ParameterizedType) && + return type instanceof Class && (type == Object.class - || (type instanceof Class && JsonElement.class.isAssignableFrom((Class) type)))); + || JsonElement.class.isAssignableFrom((Class) type)); } /**