From 07f5189a722396c17e1df8a2debbaefb5a337e32 Mon Sep 17 00:00:00 2001 From: Filip Hrisafov Date: Sat, 6 Feb 2021 10:26:08 +0100 Subject: [PATCH] #2347 Do not generate mapper implementation for private mappers Provide a compiler error message instead of generating code that will not compile --- .../processor/MapperCreationProcessor.java | 12 +++++ .../mapstruct/ap/internal/util/Message.java | 1 + .../ErroneousClassWithPrivateMapper.java | 51 +++++++++++++++++++ .../ap/test/bugs/_2347/Issue2347Test.java | 49 ++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 processor/src/test/java/org/mapstruct/ap/test/bugs/_2347/ErroneousClassWithPrivateMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/bugs/_2347/Issue2347Test.java diff --git a/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java b/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java index ad6d84b9e..c88714072 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java @@ -15,6 +15,7 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.Modifier; import javax.lang.model.element.TypeElement; @@ -210,6 +211,17 @@ public class MapperCreationProcessor implements ModelElementProcessor