From 82e5464972e4a63293384e2a3ae12a81ae8f7b73 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Wed, 26 Apr 2023 16:52:46 +0200 Subject: [PATCH] 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 --- .../beans/factory/aot/BeanDefinitionMethodGenerator.java | 2 +- .../factory/aot/BeanDefinitionMethodGeneratorTests.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java index 8cc4a430b2b..13bf2898b19 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java @@ -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; } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorTests.java index fc1c3ef8586..484eade2997 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorTests.java @@ -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}"); }); }