Keep fallback flag in AOT-generated code

Closes gh-33261
This commit is contained in:
Stéphane Nicoll 2024-07-23 11:30:37 +02:00
parent eda21c4d22
commit d219362eb1
2 changed files with 17 additions and 0 deletions

View File

@ -115,6 +115,8 @@ class BeanDefinitionPropertiesCodeGenerator {
CodeBlock.Builder code = CodeBlock.builder();
addStatementForValue(code, beanDefinition, BeanDefinition::isPrimary,
"$L.setPrimary($L)");
addStatementForValue(code, beanDefinition, BeanDefinition::isFallback,
"$L.setFallback($L)");
addStatementForValue(code, beanDefinition, BeanDefinition::getScope,
this::hasScope, "$L.setScope($S)");
addStatementForValue(code, beanDefinition, BeanDefinition::getDependsOn,

View File

@ -92,6 +92,21 @@ class BeanDefinitionPropertiesCodeGeneratorTests {
compile((actual, compiled) -> assertThat(actual.isPrimary()).isTrue());
}
@Test
void setFallbackWhenFalse() {
this.beanDefinition.setFallback(false);
compile((actual, compiled) -> {
assertThat(compiled.getSourceFile()).doesNotContain("setFallback");
assertThat(actual.isFallback()).isFalse();
});
}
@Test
void setFallbackWhenTrue() {
this.beanDefinition.setFallback(true);
compile((actual, compiled) -> assertThat(actual.isFallback()).isTrue());
}
@Test
void setScopeWhenEmptyString() {
this.beanDefinition.setScope("");