Make GsonBuilder.create() factory order idempotent. (#1141)

This commit is contained in:
Warren Smith 2017-08-14 08:56:16 -07:00 committed by Jake Wharton
parent afcb3815d9
commit d9cc7bc60b

View File

@ -562,8 +562,11 @@ public final class GsonBuilder {
List<TypeAdapterFactory> factories = new ArrayList<TypeAdapterFactory>(this.factories.size() + this.hierarchyFactories.size() + 3);
factories.addAll(this.factories);
Collections.reverse(factories);
Collections.reverse(this.hierarchyFactories);
factories.addAll(this.hierarchyFactories);
List<TypeAdapterFactory> hierarchyFactories = new ArrayList<TypeAdapterFactory>(this.hierarchyFactories);
Collections.reverse(hierarchyFactories);
factories.addAll(hierarchyFactories);
addTypeAdaptersForDate(datePattern, dateStyle, timeStyle, factories);
return new Gson(excluder, fieldNamingPolicy, instanceCreators,