From 12667969217db3b05a56c4bdcd5967a2996793f0 Mon Sep 17 00:00:00 2001 From: Sjaak Derksen Date: Sat, 3 Nov 2018 08:57:42 +0000 Subject: [PATCH] #1504 adding position hints for ambiguous mapping methods (#1639) --- .../ap/internal/processor/creation/MappingResolverImpl.java | 5 ++--- .../mapstruct/ap/test/selection/qualifier/QualifierTest.java | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/processor/src/main/java/org/mapstruct/ap/internal/processor/creation/MappingResolverImpl.java b/processor/src/main/java/org/mapstruct/ap/internal/processor/creation/MappingResolverImpl.java index c96dd6c6f..fa0128a02 100755 --- a/processor/src/main/java/org/mapstruct/ap/internal/processor/creation/MappingResolverImpl.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/processor/creation/MappingResolverImpl.java @@ -198,7 +198,6 @@ public class MappingResolverImpl implements MappingResolver { if ( sourceType.isLiteral() && "java.lang.String".equals( sourceType.getFullyQualifiedName( ) ) && targetType.isNative() ) { - // TODO: convey some error message return null; } @@ -273,8 +272,6 @@ public class MappingResolverImpl implements MappingResolver { return null; } - - /** * Returns a reference to a method mapping the given source type to the given target type, if such a method * exists. @@ -485,6 +482,7 @@ public class MappingResolverImpl implements MappingResolver { if ( sourceRHS.getSourceErrorMessagePart() != null ) { messager.printMessage( mappingMethod.getExecutable(), + positionHint, Message.GENERAL_AMBIGIOUS_MAPPING_METHOD, sourceRHS.getSourceErrorMessagePart(), returnType, @@ -493,6 +491,7 @@ public class MappingResolverImpl implements MappingResolver { } else { messager.printMessage( mappingMethod.getExecutable(), + positionHint, Message.GENERAL_AMBIGIOUS_FACTORY_METHOD, returnType, Strings.join( candidates, ", " ) diff --git a/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java b/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java index 570922b6c..6d20d1a45 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java @@ -100,7 +100,7 @@ public class QualifierTest { diagnostics = { @Diagnostic( type = ErroneousMapper.class, kind = Kind.ERROR, - line = 29, + line = 28, messageRegExp = "Ambiguous mapping methods found for mapping property " + "\"java.lang.String title\" to java.lang.String.*" ) }