Revise ResolvableType.as for introspection performance
This revision limits serializability of derived interfaces, superclasses and type parameters, optimizing for introspection performance instead. Issue: SPR-17070
This commit is contained in:
@@ -1246,8 +1246,6 @@ public class ResolvableTypeTests {
|
||||
testSerialization(ResolvableType.forMethodReturnType(Methods.class.getMethod("charSequenceReturn")));
|
||||
testSerialization(ResolvableType.forConstructorParameter(Constructors.class.getConstructor(List.class), 0));
|
||||
testSerialization(ResolvableType.forField(Fields.class.getField("charSequenceList")).getGeneric());
|
||||
testSerialization(ResolvableType.forField(Fields.class.getField("charSequenceList")).asCollection());
|
||||
testSerialization(ResolvableType.forClass(ExtendsMap.class).getSuperType());
|
||||
ResolvableType deserializedNone = testSerialization(ResolvableType.NONE);
|
||||
assertThat(deserializedNone, sameInstance(ResolvableType.NONE));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -27,7 +27,6 @@ import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import java.lang.reflect.TypeVariable;
|
||||
import java.lang.reflect.WildcardType;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -65,27 +64,6 @@ public class SerializableTypeWrapperTests {
|
||||
assertSerializable(type);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forGenericSuperClass() throws Exception {
|
||||
Type type = SerializableTypeWrapper.forGenericSuperclass(ArrayList.class);
|
||||
assertThat(type.toString(), equalTo("java.util.AbstractList<E>"));
|
||||
assertSerializable(type);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forGenericInterfaces() throws Exception {
|
||||
Type type = SerializableTypeWrapper.forGenericInterfaces(List.class)[0];
|
||||
assertThat(type.toString(), equalTo("java.util.Collection<E>"));
|
||||
assertSerializable(type);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forTypeParameters() throws Exception {
|
||||
Type type = SerializableTypeWrapper.forTypeParameters(List.class)[0];
|
||||
assertThat(type.toString(), equalTo("E"));
|
||||
assertSerializable(type);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void classType() throws Exception {
|
||||
Type type = SerializableTypeWrapper.forField(Fields.class.getField("classType"));
|
||||
|
||||
Reference in New Issue
Block a user