From 1c8c6fd79c112edb5d71f5ffcd0c959ac090050b Mon Sep 17 00:00:00 2001 From: linpeilie Date: Mon, 6 Nov 2023 19:22:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=86=85=E9=83=A8=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/pom.xml | 2 +- .../src/main/java/io/github/linpeilie/model/Car.java | 5 +++++ .../io/github/linpeilie/model/InnerClassTarget.java | 12 ++++++++++++ .../processor/generator/AutoMapperGenerator.java | 2 +- pom.xml | 2 +- 5 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/InnerClassTarget.java diff --git a/example/pom.xml b/example/pom.xml index 385f8d9..9a744cf 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -18,7 +18,7 @@ UTF-8 1.5.1.Final - 1.3.5 + 1.3.6-SNAPSHOT 1.18.22 diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/Car.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/Car.java index 8e37150..23aba5f 100644 --- a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/Car.java +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/Car.java @@ -17,4 +17,9 @@ public class Car { @AutoMapping(target = "wheels", ignore = true) private Wheels wheels; + @Data + public static class InnerClass { + private String f; + } + } diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/InnerClassTarget.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/InnerClassTarget.java new file mode 100644 index 0000000..c425fba --- /dev/null +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/InnerClassTarget.java @@ -0,0 +1,12 @@ +package io.github.linpeilie.model; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +@Data +@AutoMapper(target = Car.InnerClass.class) +public class InnerClassTarget { + + private String f; + +} diff --git a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/generator/AutoMapperGenerator.java b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/generator/AutoMapperGenerator.java index 2051b74..690b3ff 100644 --- a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/generator/AutoMapperGenerator.java +++ b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/generator/AutoMapperGenerator.java @@ -90,7 +90,7 @@ public class AutoMapperGenerator { private boolean classIsImmutable(ProcessingEnvironment processingEnv, ClassName className) { final TypeElement targetElement = processingEnv.getElementUtils() - .getTypeElement(className.packageName() + "." + className.simpleName()); + .getTypeElement(className.reflectionName().replaceAll("\\$", ".")); final List annotationMirrors = targetElement.getAnnotationMirrors(); for (AnnotationMirror annotationMirror : annotationMirrors) { if (annotationMirror.getAnnotationType().asElement().getSimpleName().contentEquals("Immutable")) { diff --git a/pom.xml b/pom.xml index f05ac5f..92734f2 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ - 1.3.5 + 1.3.6-SNAPSHOT 8 8 UTF-8