From f2e9d112b1f2ce036f59746515595b47bc5613d0 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 4 Oct 2022 15:57:20 +0200 Subject: [PATCH] Fix TypeReference#getName for CGLIB proxies This commit makes sure that the double '$' sign typically used by generated cglib proxies are not used as an inner class separator. Closes gh-29252 --- .../aot/hint/SimpleTypeReference.java | 2 +- .../generate/GeneratedTypeReferenceTests.java | 17 +++++++++++++++++ .../aot/hint/SimpleTypeReferenceTests.java | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/spring-core/src/main/java/org/springframework/aot/hint/SimpleTypeReference.java b/spring-core/src/main/java/org/springframework/aot/hint/SimpleTypeReference.java index 024471f90d..b21df02e82 100644 --- a/spring-core/src/main/java/org/springframework/aot/hint/SimpleTypeReference.java +++ b/spring-core/src/main/java/org/springframework/aot/hint/SimpleTypeReference.java @@ -49,7 +49,7 @@ final class SimpleTypeReference extends AbstractTypeReference { if (!className.contains("$")) { return createTypeReference(className); } - String[] elements = className.split("\\$"); + String[] elements = className.split("(?