55 */
66package org .mapstruct .tools .gem .processor ;
77
8+ import java .util .Arrays ;
89import java .util .List ;
910import java .util .Set ;
1011import java .util .stream .Collectors ;
12+ import javax .lang .model .element .Element ;
1113
1214public class GemInfo {
1315
@@ -22,16 +24,18 @@ public class GemInfo {
2224 private final String builderImplName ;
2325
2426 private final List <GemValueInfo > gemValueInfos ;
27+ private final Element [] originatingElements ;
2528
2629 public GemInfo (String gemPackageName , String annotationName , String annotationFqn ,
27- List <GemValueInfo > gemValueInfos ) {
30+ List <GemValueInfo > gemValueInfos , Element ... originatingElements ) {
2831 this .gemPackageName = gemPackageName ;
2932 this .gemName = annotationName + "Gem" ;
3033 this .annotationName = annotationName ;
3134 this .annotationFqn = annotationFqn ;
3235 this .gemValueInfos = gemValueInfos ;
3336 this .builderName = BUILDER_NAME + ( BUILDER_NAME .equals ( annotationName ) ? "_" : "" );
3437 this .builderImplName = BUILDER_IMPL_NAME + ( BUILDER_IMPL_NAME .equals ( annotationName ) ? "_" : "" );
38+ this .originatingElements = Arrays .copyOf ( originatingElements , originatingElements .length );
3539 }
3640
3741 public String getGemName () {
@@ -71,6 +75,10 @@ public String getBuilderImplName() {
7175 return builderImplName ;
7276 }
7377
78+ public Element [] getOriginatingElements () {
79+ return originatingElements ;
80+ }
81+
7482 private boolean isNotSamePackage (GemValueType valueType ) {
7583 return !valueType .getPacakage ().equals ( gemPackageName );
7684 }
0 commit comments