提交 be65bef9 编写于 作者: P Phillip Webb

Merge branch '5.1.x'

......@@ -1013,7 +1013,7 @@ public class ResolvableType implements Serializable {
}
@Override
public boolean isAssignableFrom(ResolvableType other) {
Class<?> otherClass = other.getRawClass();
Class<?> otherClass = other.resolve();
return (otherClass != null && (clazz == null || ClassUtils.isAssignable(clazz, otherClass)));
}
};
......
......@@ -134,6 +134,18 @@ public class ResolvableTypeTests {
assertThat(type.isAssignableFrom(String.class)).isTrue();
}
@Test
public void forRawClassAssignableFromTypeVariable() { // gh-23321
ResolvableType typeVariable = ResolvableType.forClass(ExtendsList.class).as(List.class).getGeneric();
ResolvableType raw = ResolvableType.forRawClass(CharSequence.class);
assertThat(raw.resolve()).isEqualTo(CharSequence.class);
assertThat(typeVariable.resolve()).isEqualTo(CharSequence.class);
assertThat(raw.resolve().isAssignableFrom(typeVariable.resolve())).isTrue();
assertThat(typeVariable.resolve().isAssignableFrom(raw.resolve())).isTrue();
assertThat(raw.isAssignableFrom(typeVariable)).isTrue();
assertThat(typeVariable.isAssignableFrom(raw)).isTrue();
}
@Test
public void forInstanceMustNotBeNull() {
assertThatIllegalArgumentException().isThrownBy(() ->
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册