TypeDescriptor properly narrows ResolvableType for non-typed collection elements

Issue: SPR-14971
This commit is contained in:
Juergen Hoeller
2016-12-12 22:28:48 +01:00
parent 8b5ee4ef91
commit aef1460a64
2 changed files with 28 additions and 3 deletions

View File

@@ -186,7 +186,7 @@ public class TypeDescriptor implements Serializable {
return this;
}
ResolvableType narrowed = ResolvableType.forType(value.getClass(), getResolvableType());
return new TypeDescriptor(narrowed, null, getAnnotations());
return new TypeDescriptor(narrowed, value.getClass(), getAnnotations());
}
/**
@@ -435,7 +435,10 @@ public class TypeDescriptor implements Serializable {
if (typeDescriptor != null) {
return typeDescriptor.narrow(value);
}
return (value != null ? new TypeDescriptor(getResolvableType(), value.getClass(), getAnnotations()) : null);
if (value != null) {
return narrow(value);
}
return null;
}
@Override