Skip to content

Commit 305055d

Browse files
committed
Pass GenerationContext to customizeBeanRegistrationCodeFragments
Update `customizeBeanRegistrationCodeFragments` so that it can access the `GenerationContext`. See gh-28557
1 parent 9a9c3ea commit 305055d

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ class BeanDefinitionMethodGenerator {
8888
MethodReference generateBeanDefinitionMethod(GenerationContext generationContext,
8989
String featureNamePrefix, BeanRegistrationsCode beanRegistrationsCode) {
9090

91-
BeanRegistrationCodeFragments codeFragments = getCodeFragments(beanRegistrationsCode, featureNamePrefix);
91+
BeanRegistrationCodeFragments codeFragments = getCodeFragments(generationContext,
92+
beanRegistrationsCode, featureNamePrefix);
9293
Class<?> target = codeFragments.getTarget(this.registeredBean,
9394
this.constructorOrFactoryMethod);
9495
if (!target.getName().startsWith("java.")) {
@@ -113,14 +114,14 @@ MethodReference generateBeanDefinitionMethod(GenerationContext generationContext
113114
generatedMethod.getName().toString());
114115
}
115116

116-
private BeanRegistrationCodeFragments getCodeFragments(
117+
private BeanRegistrationCodeFragments getCodeFragments(GenerationContext generationContext,
117118
BeanRegistrationsCode beanRegistrationsCode, String featureNamePrefix) {
118119

119120
BeanRegistrationCodeFragments codeFragments = new DefaultBeanRegistrationCodeFragments(
120121
beanRegistrationsCode, this.registeredBean, this.methodGeneratorFactory,
121122
featureNamePrefix);
122123
for (BeanRegistrationAotContribution aotContribution : this.aotContributions) {
123-
codeFragments = aotContribution.customizeBeanRegistrationCodeFragments(codeFragments);
124+
codeFragments = aotContribution.customizeBeanRegistrationCodeFragments(generationContext, codeFragments);
124125
}
125126
return codeFragments;
126127
}

spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationAotContribution.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@ public interface BeanRegistrationAotContribution {
3636
* Customize the {@link BeanRegistrationCodeFragments} that will be used to
3737
* generate the bean registration code. Custom code fragments can be used if
3838
* default code generation isn't suitable.
39+
* @param generationContext the generation context
3940
* @param codeFragments the existing code fragments
4041
* @return the code fragments to use, may be the original instance or a
4142
* wrapper
4243
*/
4344
default BeanRegistrationCodeFragments customizeBeanRegistrationCodeFragments(
44-
BeanRegistrationCodeFragments codeFragments) {
45+
GenerationContext generationContext, BeanRegistrationCodeFragments codeFragments) {
4546
return codeFragments;
4647
}
4748

@@ -70,7 +71,7 @@ static BeanRegistrationAotContribution ofBeanRegistrationCodeFragmentsCustomizer
7071

7172
@Override
7273
public BeanRegistrationCodeFragments customizeBeanRegistrationCodeFragments(
73-
BeanRegistrationCodeFragments codeFragments) {
74+
GenerationContext generationContext, BeanRegistrationCodeFragments codeFragments) {
7475
return beanRegistrationCodeFragmentsCustomizer.apply(codeFragments);
7576
}
7677

0 commit comments

Comments
 (0)