From 4bd1022b89bd7f1a1fca54c0f8b20f1e7c62a5f8 Mon Sep 17 00:00:00 2001 From: sjaakd Date: Thu, 6 Feb 2014 23:00:57 +0100 Subject: [PATCH] #81 re-introducing the check on if a generated method returns an interface type, now narrowed to absence of factory methods. --- .../ap/processor/MapperCreationProcessor.java | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/processor/src/main/java/org/mapstruct/ap/processor/MapperCreationProcessor.java b/processor/src/main/java/org/mapstruct/ap/processor/MapperCreationProcessor.java index 06a91927f..423cc7899 100644 --- a/processor/src/main/java/org/mapstruct/ap/processor/MapperCreationProcessor.java +++ b/processor/src/main/java/org/mapstruct/ap/processor/MapperCreationProcessor.java @@ -33,6 +33,7 @@ import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.TypeElement; import javax.lang.model.type.DeclaredType; import javax.lang.model.type.ExecutableType; +import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; import javax.lang.model.util.ElementFilter; import javax.lang.model.util.Elements; @@ -169,24 +170,28 @@ public class MapperCreationProcessor implements ModelElementProcessor> reverse(Map> mappings) { Map> reversed = new HashMap>(); @@ -320,7 +332,7 @@ public class MapperCreationProcessor implements ModelElementProcessor mapperReferences, List methods, + private BeanMappingMethod getBeanMappingMethod(List mapperReferences, List methods, Method method, ReportingPolicy unmappedTargetPolicy) { List propertyMappings = new ArrayList(); Set mappedTargetProperties = new HashSet(); @@ -578,7 +590,7 @@ public class MapperCreationProcessor implements ModelElementProcessor mapperReferences, List methods, + private IterableMappingMethod getIterableMappingMethod(List mapperReferences, List methods, Method method) { Type sourceElementType = method.getSourceParameters().iterator().next().getType().getTypeParameters().get( 0 ); Type targetElementType = method.getResultType().getTypeParameters().get( 0 ); @@ -618,7 +630,7 @@ public class MapperCreationProcessor implements ModelElementProcessor mapperReferences, List methods, + private MapMappingMethod getMapMappingMethod(List mapperReferences, List methods, Method method) { List sourceTypeParams = method.getSourceParameters().iterator().next().getType().getTypeParameters(); Type sourceKeyType = sourceTypeParams.get( 0 );