Skip to content

Commit d219362

Browse files
committed
Keep fallback flag in AOT-generated code
Closes gh-33261
1 parent eda21c4 commit d219362

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Diff for: spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGenerator.java

+2
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ CodeBlock generateCode(RootBeanDefinition beanDefinition) {
115115
CodeBlock.Builder code = CodeBlock.builder();
116116
addStatementForValue(code, beanDefinition, BeanDefinition::isPrimary,
117117
"$L.setPrimary($L)");
118+
addStatementForValue(code, beanDefinition, BeanDefinition::isFallback,
119+
"$L.setFallback($L)");
118120
addStatementForValue(code, beanDefinition, BeanDefinition::getScope,
119121
this::hasScope, "$L.setScope($S)");
120122
addStatementForValue(code, beanDefinition, BeanDefinition::getDependsOn,

Diff for: spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGeneratorTests.java

+15
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,21 @@ void setPrimaryWhenTrue() {
9292
compile((actual, compiled) -> assertThat(actual.isPrimary()).isTrue());
9393
}
9494

95+
@Test
96+
void setFallbackWhenFalse() {
97+
this.beanDefinition.setFallback(false);
98+
compile((actual, compiled) -> {
99+
assertThat(compiled.getSourceFile()).doesNotContain("setFallback");
100+
assertThat(actual.isFallback()).isFalse();
101+
});
102+
}
103+
104+
@Test
105+
void setFallbackWhenTrue() {
106+
this.beanDefinition.setFallback(true);
107+
compile((actual, compiled) -> assertThat(actual.isFallback()).isTrue());
108+
}
109+
95110
@Test
96111
void setScopeWhenEmptyString() {
97112
this.beanDefinition.setScope("");

0 commit comments

Comments
 (0)