@@ -975,19 +975,19 @@ public Executable resolveConstructorOrFactoryMethod(String beanName, RootBeanDef
975975 Assert .state (isCompatible , () -> String .format (
976976 "Incompatible target type '%s' for factory bean '%s'" ,
977977 resolvableType .toClass ().getName (), factoryBeanClass .getName ()));
978- Executable executable = resolveConstructor (beanName , mbd ,
978+ Constructor <?> constructor = resolveConstructor (beanName , mbd ,
979979 () -> ResolvableType .forClass (factoryBeanClass ), valueTypes );
980- if (executable != null ) {
981- return executable ;
980+ if (constructor != null ) {
981+ return constructor ;
982982 }
983983 throw new IllegalStateException ("No suitable FactoryBean constructor found for " +
984984 mbd + " and argument types " + valueTypes );
985985
986986 }
987987
988- Executable resolvedConstructor = resolveConstructor (beanName , mbd , beanType , valueTypes );
989- if (resolvedConstructor != null ) {
990- return resolvedConstructor ;
988+ Constructor <?> constructor = resolveConstructor (beanName , mbd , beanType , valueTypes );
989+ if (constructor != null ) {
990+ return constructor ;
991991 }
992992
993993 throw new IllegalStateException ("No constructor or factory method candidate found for " +
@@ -1030,7 +1030,7 @@ private ResolvableType determineParameterValueType(RootBeanDefinition mbd, Value
10301030 }
10311031
10321032 @ Nullable
1033- private Executable resolveConstructor (String beanName , RootBeanDefinition mbd ,
1033+ private Constructor <?> resolveConstructor (String beanName , RootBeanDefinition mbd ,
10341034 Supplier <ResolvableType > beanType , List <ResolvableType > valueTypes ) {
10351035
10361036 Class <?> type = ClassUtils .getUserClass (beanType .get ().toClass ());
@@ -1054,22 +1054,22 @@ private Executable resolveConstructor(String beanName, RootBeanDefinition mbd,
10541054 }
10551055 return types ;
10561056 };
1057- List <? extends Executable > matches = Arrays .stream (ctors )
1057+ List <Constructor <?> > matches = Arrays .stream (ctors )
10581058 .filter (executable -> match (parameterTypesFactory .apply (executable ),
10591059 valueTypes , FallbackMode .NONE ))
10601060 .toList ();
10611061 if (matches .size () == 1 ) {
10621062 return matches .get (0 );
10631063 }
1064- List <? extends Executable > assignableElementFallbackMatches = Arrays
1064+ List <Constructor <?> > assignableElementFallbackMatches = Arrays
10651065 .stream (ctors )
10661066 .filter (executable -> match (parameterTypesFactory .apply (executable ),
10671067 valueTypes , FallbackMode .ASSIGNABLE_ELEMENT ))
10681068 .toList ();
10691069 if (assignableElementFallbackMatches .size () == 1 ) {
10701070 return assignableElementFallbackMatches .get (0 );
10711071 }
1072- List <? extends Executable > typeConversionFallbackMatches = Arrays
1072+ List <Constructor <?> > typeConversionFallbackMatches = Arrays
10731073 .stream (ctors )
10741074 .filter (executable -> match (parameterTypesFactory .apply (executable ),
10751075 valueTypes , FallbackMode .TYPE_CONVERSION ))
@@ -1121,7 +1121,7 @@ else if (candidates.size() > 1) {
11211121 }
11221122 return types ;
11231123 };
1124- result = ( Method ) resolveFactoryMethod (candidates , parameterTypesFactory , valueTypes );
1124+ result = resolveFactoryMethod (candidates , parameterTypesFactory , valueTypes );
11251125 }
11261126
11271127 if (result == null ) {
@@ -1138,24 +1138,24 @@ else if (candidates.size() > 1) {
11381138 }
11391139
11401140 @ Nullable
1141- private Executable resolveFactoryMethod (List <Method > executables ,
1141+ private Method resolveFactoryMethod (List <Method > executables ,
11421142 Function <Method , List <ResolvableType >> parameterTypesFactory ,
11431143 List <ResolvableType > valueTypes ) {
11441144
1145- List <? extends Executable > matches = executables .stream ()
1145+ List <Method > matches = executables .stream ()
11461146 .filter (executable -> match (parameterTypesFactory .apply (executable ), valueTypes , FallbackMode .NONE ))
11471147 .toList ();
11481148 if (matches .size () == 1 ) {
11491149 return matches .get (0 );
11501150 }
1151- List <? extends Executable > assignableElementFallbackMatches = executables .stream ()
1151+ List <Method > assignableElementFallbackMatches = executables .stream ()
11521152 .filter (executable -> match (parameterTypesFactory .apply (executable ),
11531153 valueTypes , FallbackMode .ASSIGNABLE_ELEMENT ))
11541154 .toList ();
11551155 if (assignableElementFallbackMatches .size () == 1 ) {
11561156 return assignableElementFallbackMatches .get (0 );
11571157 }
1158- List <? extends Executable > typeConversionFallbackMatches = executables .stream ()
1158+ List <Method > typeConversionFallbackMatches = executables .stream ()
11591159 .filter (executable -> match (parameterTypesFactory .apply (executable ),
11601160 valueTypes , FallbackMode .TYPE_CONVERSION ))
11611161 .toList ();
0 commit comments