@@ -151,12 +151,7 @@ private void registerRuntimeHintsIfNecessary(RegisteredBean registeredBean, Exec
151
151
if (registeredBean .getBeanFactory () instanceof DefaultListableBeanFactory dlbf ) {
152
152
RuntimeHints runtimeHints = this .generationContext .getRuntimeHints ();
153
153
ProxyRuntimeHintsRegistrar registrar = new ProxyRuntimeHintsRegistrar (dlbf .getAutowireCandidateResolver ());
154
- if (constructorOrFactoryMethod instanceof Method method ) {
155
- registrar .registerRuntimeHints (runtimeHints , method );
156
- }
157
- else if (constructorOrFactoryMethod instanceof Constructor <?> constructor ) {
158
- registrar .registerRuntimeHints (runtimeHints , constructor );
159
- }
154
+ registrar .registerRuntimeHints (runtimeHints , constructorOrFactoryMethod );
160
155
}
161
156
}
162
157
@@ -419,33 +414,17 @@ public static boolean hasConstructorWithOptionalParameter(Class<?> beanClass) {
419
414
}
420
415
421
416
422
- private static class ProxyRuntimeHintsRegistrar {
423
-
424
- private final AutowireCandidateResolver candidateResolver ;
425
-
426
- public ProxyRuntimeHintsRegistrar (AutowireCandidateResolver candidateResolver ) {
427
- this .candidateResolver = candidateResolver ;
428
- }
417
+ private record ProxyRuntimeHintsRegistrar (AutowireCandidateResolver candidateResolver ) {
429
418
430
- public void registerRuntimeHints (RuntimeHints runtimeHints , Method method ) {
431
- Class <?>[] parameterTypes = method .getParameterTypes ();
419
+ public void registerRuntimeHints (RuntimeHints runtimeHints , Executable executable ) {
420
+ Class <?>[] parameterTypes = executable .getParameterTypes ();
432
421
for (int i = 0 ; i < parameterTypes .length ; i ++) {
433
- MethodParameter methodParam = new MethodParameter ( method , i );
422
+ MethodParameter methodParam = MethodParameter . forExecutable ( executable , i );
434
423
DependencyDescriptor dependencyDescriptor = new DependencyDescriptor (methodParam , true );
435
424
registerProxyIfNecessary (runtimeHints , dependencyDescriptor );
436
425
}
437
426
}
438
427
439
- public void registerRuntimeHints (RuntimeHints runtimeHints , Constructor <?> constructor ) {
440
- Class <?>[] parameterTypes = constructor .getParameterTypes ();
441
- for (int i = 0 ; i < parameterTypes .length ; i ++) {
442
- MethodParameter methodParam = new MethodParameter (constructor , i );
443
- DependencyDescriptor dependencyDescriptor = new DependencyDescriptor (
444
- methodParam , true );
445
- registerProxyIfNecessary (runtimeHints , dependencyDescriptor );
446
- }
447
- }
448
-
449
428
private void registerProxyIfNecessary (RuntimeHints runtimeHints , DependencyDescriptor dependencyDescriptor ) {
450
429
Class <?> proxyType = this .candidateResolver .getLazyResolutionProxyClass (dependencyDescriptor , null );
451
430
if (proxyType != null && Proxy .isProxyClass (proxyType )) {
0 commit comments