@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2022 the original author or authors .
* Copyright 2002 - 2023 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 .
@ -274,19 +274,6 @@ public class ReflectionHintsPredicates {
@@ -274,19 +274,6 @@ public class ReflectionHintsPredicates {
return this ;
}
@Override
public boolean test ( RuntimeHints runtimeHints ) {
return ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) )
. withAnyMemberCategory ( getPublicMemberCategories ( ) )
. and ( hints - > Modifier . isPublic ( this . executable . getModifiers ( ) ) ) )
. or ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) ) . withAnyMemberCategory ( getDeclaredMemberCategories ( ) ) )
. or ( exactMatch ( ) ) . test ( runtimeHints ) ;
}
abstract MemberCategory [ ] getPublicMemberCategories ( ) ;
abstract MemberCategory [ ] getDeclaredMemberCategories ( ) ;
abstract Predicate < RuntimeHints > exactMatch ( ) ;
/ * *
@ -309,6 +296,14 @@ public class ReflectionHintsPredicates {
@@ -309,6 +296,14 @@ public class ReflectionHintsPredicates {
}
@Override
public boolean test ( RuntimeHints runtimeHints ) {
return ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) )
. withAnyMemberCategory ( getPublicMemberCategories ( ) )
. and ( hints - > Modifier . isPublic ( this . executable . getModifiers ( ) ) ) )
. or ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) ) . withAnyMemberCategory ( getDeclaredMemberCategories ( ) ) )
. or ( exactMatch ( ) ) . test ( runtimeHints ) ;
}
MemberCategory [ ] getPublicMemberCategories ( ) {
if ( this . executableMode = = ExecutableMode . INTROSPECT ) {
return new MemberCategory [ ] { MemberCategory . INTROSPECT_PUBLIC_CONSTRUCTORS ,
@ -317,7 +312,6 @@ public class ReflectionHintsPredicates {
@@ -317,7 +312,6 @@ public class ReflectionHintsPredicates {
return new MemberCategory [ ] { MemberCategory . INVOKE_PUBLIC_CONSTRUCTORS } ;
}
@Override
MemberCategory [ ] getDeclaredMemberCategories ( ) {
if ( this . executableMode = = ExecutableMode . INTROSPECT ) {
return new MemberCategory [ ] { MemberCategory . INTROSPECT_DECLARED_CONSTRUCTORS ,
@ -344,6 +338,16 @@ public class ReflectionHintsPredicates {
@@ -344,6 +338,16 @@ public class ReflectionHintsPredicates {
}
@Override
public boolean test ( RuntimeHints runtimeHints ) {
return ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) )
. withAnyMemberCategory ( getPublicMemberCategories ( ) )
. and ( hints - > Modifier . isPublic ( this . executable . getModifiers ( ) ) ) )
. or ( new TypeHintPredicate ( TypeReference . of ( this . executable . getDeclaringClass ( ) ) )
. withAnyMemberCategory ( getDeclaredMemberCategories ( ) )
. and ( hints - > ! Modifier . isPublic ( this . executable . getModifiers ( ) ) ) )
. or ( exactMatch ( ) ) . test ( runtimeHints ) ;
}
MemberCategory [ ] getPublicMemberCategories ( ) {
if ( this . executableMode = = ExecutableMode . INTROSPECT ) {
return new MemberCategory [ ] { MemberCategory . INTROSPECT_PUBLIC_METHODS ,
@ -352,7 +356,6 @@ public class ReflectionHintsPredicates {
@@ -352,7 +356,6 @@ public class ReflectionHintsPredicates {
return new MemberCategory [ ] { MemberCategory . INVOKE_PUBLIC_METHODS } ;
}
@Override
MemberCategory [ ] getDeclaredMemberCategories ( ) {
if ( this . executableMode = = ExecutableMode . INTROSPECT ) {
@ -392,8 +395,7 @@ public class ReflectionHintsPredicates {
@@ -392,8 +395,7 @@ public class ReflectionHintsPredicates {
private boolean memberCategoryMatch ( TypeHint typeHint ) {
if ( Modifier . isPublic ( this . field . getModifiers ( ) ) ) {
return typeHint . getMemberCategories ( ) . contains ( MemberCategory . PUBLIC_FIELDS ) | |
typeHint . getMemberCategories ( ) . contains ( MemberCategory . DECLARED_FIELDS ) ;
return typeHint . getMemberCategories ( ) . contains ( MemberCategory . PUBLIC_FIELDS ) ;
}
else {
return typeHint . getMemberCategories ( ) . contains ( MemberCategory . DECLARED_FIELDS ) ;