TypeDescriptor properly narrows ResolvableType for non-typed collection elements

Issue: SPR-14971
(cherry picked from commit aef1460)
This commit is contained in:
Juergen Hoeller
2016-12-12 22:28:48 +01:00
parent 934fffec68
commit 442d8a68a6
2 changed files with 28 additions and 3 deletions

View File

@@ -190,7 +190,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());
}
/**
@@ -439,7 +439,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