diff --git a/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java b/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java index 4d2eb1e07..21f880701 100644 --- a/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java +++ b/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java @@ -232,10 +232,13 @@ public class PropertyMapping extends ModelElement { ctx.getMessager().printMessage( Diagnostic.Kind.ERROR, String.format( - "Can't map %s to \"%s %s\".", + "Can't map %s to \"%s %s\". " + + "Consider to declare/implement a mapping method: \"%s map(%s value)\".", sourceElement, targetType, - targetPropertyName + targetPropertyName, + targetType, + getSourceType() /* original source type */ ), method.getExecutable() ); diff --git a/processor/src/test/java/org/mapstruct/ap/test/erroneous/typemismatch/ErroneousMappingsTest.java b/processor/src/test/java/org/mapstruct/ap/test/erroneous/typemismatch/ErroneousMappingsTest.java index 1e126c1e7..4bfffc816 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/erroneous/typemismatch/ErroneousMappingsTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/erroneous/typemismatch/ErroneousMappingsTest.java @@ -46,11 +46,13 @@ public class ErroneousMappingsTest { @Diagnostic(type = ErroneousMapper.class, kind = Kind.ERROR, line = 27, - messageRegExp = "Can't map property \"boolean foo\" to \"int foo\"\\."), + messageRegExp = "Can't map property \"boolean foo\" to \"int foo\". Consider to declare/implement a " + + "mapping method: \"int map\\(boolean value\\)\"."), @Diagnostic(type = ErroneousMapper.class, kind = Kind.ERROR, line = 29, - messageRegExp = "Can't map property \"int foo\" to \"boolean foo\"\\."), + messageRegExp = "Can't map property \"int foo\" to \"boolean foo\". Consider to declare/implement a " + + "mapping method: \"boolean map\\(int value\\)\"."), @Diagnostic(type = ErroneousMapper.class, kind = Kind.ERROR, line = 31,