Avoid extra "__BeanDefinitions" suffix for inner classes

This commit makes AOT class names for bean definitions shorter.
Previously, the "__BeanDefinitions" suffix was applied for all
classes, but it was unnecessary for inner classes as the container
class already has the qualifier.

Closes gh-29846
This commit is contained in:
Stephane Nicoll 2023-04-26 16:52:46 +02:00
parent 02132bd060
commit 82e5464972
2 changed files with 4 additions and 4 deletions

View File

@ -152,7 +152,7 @@ class BeanDefinitionMethodGenerator {
GeneratedClass tmp = generatedClass;
for (String nameToProcess : namesToProcess) {
currentTargetClassName = currentTargetClassName.nestedClass(nameToProcess);
tmp = createInnerClass(tmp, nameToProcess + "__BeanDefinitions", currentTargetClassName);
tmp = createInnerClass(tmp, nameToProcess, currentTargetClassName);
}
return tmp;
}

View File

@ -138,7 +138,7 @@ class BeanDefinitionMethodGeneratorTests {
compile(method, (actual, compiled) -> {
SourceFile sourceFile = compiled.getSourceFile(".*BeanDefinitions");
assertThat(sourceFile.getClassName()).endsWith("InnerBeanConfiguration__BeanDefinitions");
assertThat(sourceFile).contains("public static class Simple__BeanDefinitions")
assertThat(sourceFile).contains("public static class Simple")
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple}")
.doesNotContain("Another__BeanDefinitions");
@ -161,9 +161,9 @@ class BeanDefinitionMethodGeneratorTests {
compile(method, (actual, compiled) -> {
SourceFile sourceFile = compiled.getSourceFile(".*BeanDefinitions");
assertThat(sourceFile.getClassName()).endsWith("InnerBeanConfiguration__BeanDefinitions");
assertThat(sourceFile).contains("public static class Simple__BeanDefinitions")
assertThat(sourceFile).contains("public static class Simple")
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple}")
.contains("public static class Another__BeanDefinitions")
.contains("public static class Another")
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple.Another}");
});
}