@@ -97,28 +97,17 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
97
97
TestPlan testplan = discoverTestsAndRegisterTestClassesForReflection (launcher , selectors );
98
98
ImageSingletons .add (NativeImageJUnitLauncher .class , new NativeImageJUnitLauncher (launcher , testplan ));
99
99
100
- Method registerAllDeclaredMethods = findMethodOrNull (RuntimeReflection .class , "registerAllDeclaredMethods" , Class .class );
101
- if (registerAllDeclaredMethods != null ) {
102
- // graalvm-23.0+ with `RuntimeReflection#registerAllDeclaredMethods` method.
103
- ClassLoader applicationLoader = access .getApplicationClassLoader ();
104
- Class <?> typeSafeMatcher = findClassOrNull (applicationLoader , "org.hamcrest.TypeSafeMatcher" );
105
- Class <?> typeSafeDiagnosingMatcher = findClassOrNull (applicationLoader , "org.hamcrest.TypeSafeDiagnosingMatcher" );
106
- if (typeSafeMatcher != null || typeSafeDiagnosingMatcher != null ) {
107
- BiConsumer <DuringAnalysisAccess , Class <?>> registerMatcherForReflection = (a , c ) -> {
108
- try {
109
- registerAllDeclaredMethods .invoke (null , c );
110
- } catch (ReflectiveOperationException e ) {
111
- throw new RuntimeException (e );
112
- }
113
- };
114
- if (typeSafeMatcher != null ) {
115
- access .registerSubtypeReachabilityHandler (registerMatcherForReflection , typeSafeMatcher );
116
- }
117
- if (typeSafeDiagnosingMatcher != null ) {
118
- access .registerSubtypeReachabilityHandler (registerMatcherForReflection , typeSafeDiagnosingMatcher );
119
- }
100
+ ClassLoader applicationLoader = access .getApplicationClassLoader ();
101
+ Class <?> typeSafeMatcher = findClassOrNull (applicationLoader , "org.hamcrest.TypeSafeMatcher" );
102
+ Class <?> typeSafeDiagnosingMatcher = findClassOrNull (applicationLoader , "org.hamcrest.TypeSafeDiagnosingMatcher" );
103
+ if (typeSafeMatcher != null || typeSafeDiagnosingMatcher != null ) {
104
+ BiConsumer <DuringAnalysisAccess , Class <?>> registerMatcherForReflection = (a , c ) -> RuntimeReflection .registerAllDeclaredMethods (c );
105
+ if (typeSafeMatcher != null ) {
106
+ access .registerSubtypeReachabilityHandler (registerMatcherForReflection , typeSafeMatcher );
107
+ }
108
+ if (typeSafeDiagnosingMatcher != null ) {
109
+ access .registerSubtypeReachabilityHandler (registerMatcherForReflection , typeSafeDiagnosingMatcher );
120
110
}
121
-
122
111
}
123
112
}
124
113
@@ -130,14 +119,6 @@ private static Class<?> findClassOrNull(ClassLoader loader, String className) {
130
119
}
131
120
}
132
121
133
- private static Method findMethodOrNull (Class <?> clazz , String methodName , Class <?>... parameterTypes ) {
134
- try {
135
- return clazz .getDeclaredMethod (methodName , parameterTypes );
136
- } catch (NoSuchMethodException e ) {
137
- return null ;
138
- }
139
- }
140
-
141
122
private List <? extends DiscoverySelector > getSelectors (List <Path > classpathRoots ) {
142
123
try {
143
124
Path outputDir = Paths .get (System .getProperty (UniqueIdTrackingListener .OUTPUT_DIR_PROPERTY_NAME ));
0 commit comments