Pass GenerationContext to customizeBeanRegistrationCodeFragments
Update `customizeBeanRegistrationCodeFragments` so that it can access the `GenerationContext`. See gh-28557
This commit is contained in:
		
							parent
							
								
									9a9c3ea00e
								
							
						
					
					
						commit
						305055d6b1
					
				|  | @ -88,7 +88,8 @@ class BeanDefinitionMethodGenerator { | |||
| 	MethodReference generateBeanDefinitionMethod(GenerationContext generationContext, | ||||
| 			String featureNamePrefix, BeanRegistrationsCode beanRegistrationsCode) { | ||||
| 
 | ||||
| 		BeanRegistrationCodeFragments codeFragments = getCodeFragments(beanRegistrationsCode, featureNamePrefix); | ||||
| 		BeanRegistrationCodeFragments codeFragments = getCodeFragments(generationContext, | ||||
| 				beanRegistrationsCode, featureNamePrefix); | ||||
| 		Class<?> target = codeFragments.getTarget(this.registeredBean, | ||||
| 				this.constructorOrFactoryMethod); | ||||
| 		if (!target.getName().startsWith("java.")) { | ||||
|  | @ -113,14 +114,14 @@ class BeanDefinitionMethodGenerator { | |||
| 				generatedMethod.getName().toString()); | ||||
| 	} | ||||
| 
 | ||||
| 	private BeanRegistrationCodeFragments getCodeFragments( | ||||
| 	private BeanRegistrationCodeFragments getCodeFragments(GenerationContext generationContext, | ||||
| 			BeanRegistrationsCode beanRegistrationsCode, String featureNamePrefix) { | ||||
| 
 | ||||
| 		BeanRegistrationCodeFragments codeFragments = new DefaultBeanRegistrationCodeFragments( | ||||
| 				beanRegistrationsCode, this.registeredBean, this.methodGeneratorFactory, | ||||
| 				featureNamePrefix); | ||||
| 		for (BeanRegistrationAotContribution aotContribution : this.aotContributions) { | ||||
| 			codeFragments = aotContribution.customizeBeanRegistrationCodeFragments(codeFragments); | ||||
| 			codeFragments = aotContribution.customizeBeanRegistrationCodeFragments(generationContext, codeFragments); | ||||
| 		} | ||||
| 		return codeFragments; | ||||
| 	} | ||||
|  |  | |||
|  | @ -36,12 +36,13 @@ public interface BeanRegistrationAotContribution { | |||
| 	 * Customize the {@link BeanRegistrationCodeFragments} that will be used to | ||||
| 	 * generate the bean registration code. Custom code fragments can be used if | ||||
| 	 * default code generation isn't suitable. | ||||
| 	 * @param generationContext the generation context | ||||
| 	 * @param codeFragments the existing code fragments | ||||
| 	 * @return the code fragments to use, may be the original instance or a | ||||
| 	 * wrapper | ||||
| 	 */ | ||||
| 	default BeanRegistrationCodeFragments customizeBeanRegistrationCodeFragments( | ||||
| 			BeanRegistrationCodeFragments codeFragments) { | ||||
| 			GenerationContext generationContext, BeanRegistrationCodeFragments codeFragments) { | ||||
| 		return codeFragments; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -70,7 +71,7 @@ public interface BeanRegistrationAotContribution { | |||
| 
 | ||||
| 			@Override | ||||
| 			public BeanRegistrationCodeFragments customizeBeanRegistrationCodeFragments( | ||||
| 					BeanRegistrationCodeFragments codeFragments) { | ||||
| 					GenerationContext generationContext, BeanRegistrationCodeFragments codeFragments) { | ||||
| 				return beanRegistrationCodeFragmentsCustomizer.apply(codeFragments); | ||||
| 			} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue