Fix hints and predicates for Field reflective access
This commit revisits the arrangement for Field hints after changes made in gh-34239. Closes gh-34294
This commit is contained in:
@@ -253,10 +253,10 @@ class BeanDefinitionPropertiesCodeGenerator {
|
||||
// ReflectionUtils#findField searches recursively in the type hierarchy
|
||||
Class<?> searchType = beanDefinition.getTargetType();
|
||||
while (searchType != null && searchType != writeMethod.getDeclaringClass()) {
|
||||
this.hints.reflection().registerType(searchType, MemberCategory.INVOKE_DECLARED_FIELDS);
|
||||
this.hints.reflection().registerType(searchType, MemberCategory.ACCESS_DECLARED_FIELDS);
|
||||
searchType = searchType.getSuperclass();
|
||||
}
|
||||
this.hints.reflection().registerType(writeMethod.getDeclaringClass(), MemberCategory.INVOKE_DECLARED_FIELDS);
|
||||
this.hints.reflection().registerType(writeMethod.getDeclaringClass(), MemberCategory.ACCESS_DECLARED_FIELDS);
|
||||
}
|
||||
|
||||
private void addQualifiers(CodeBlock.Builder code, RootBeanDefinition beanDefinition) {
|
||||
|
||||
@@ -574,7 +574,7 @@ class BeanDefinitionPropertiesCodeGeneratorTests {
|
||||
|
||||
private void assertHasDeclaredFieldsHint(Class<?> beanType) {
|
||||
assertThat(RuntimeHintsPredicates.reflection()
|
||||
.onType(beanType).withMemberCategory(MemberCategory.INVOKE_DECLARED_FIELDS))
|
||||
.onType(beanType).withMemberCategory(MemberCategory.ACCESS_DECLARED_FIELDS))
|
||||
.accepts(this.generationContext.getRuntimeHints());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user