Package org.mapstruct.ap.internal.util
Class EclipseElementUtilsDecorator
- java.lang.Object
-
- org.mapstruct.ap.internal.util.AbstractElementUtilsDecorator
-
- org.mapstruct.ap.internal.util.EclipseElementUtilsDecorator
-
- All Implemented Interfaces:
javax.lang.model.util.Elements,ElementUtils
public class EclipseElementUtilsDecorator extends AbstractElementUtilsDecorator
-
-
Field Summary
Fields Modifier and Type Field Description private javax.lang.model.util.Elementsdelegate
-
Constructor Summary
Constructors Constructor Description EclipseElementUtilsDecorator(javax.annotation.processing.ProcessingEnvironment processingEnv, javax.lang.model.element.TypeElement mapperElement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.lang.model.element.TypeElementreplaceTypeElementIfNecessary(javax.lang.model.element.TypeElement element)When running during Eclipse Incremental Compilation, we might get a TypeElement that has an UnresolvedTypeBinding and which is not automatically resolved.-
Methods inherited from class org.mapstruct.ap.internal.util.AbstractElementUtilsDecorator
getAllAnnotationMirrors, getAllEnclosedExecutableElements, getAllEnclosedFields, getAllMembers, getBinaryName, getConstantExpression, getDocComment, getElementValuesWithDefaults, getName, getPackageElement, getPackageOf, getTypeElement, hides, isDeprecated, isFunctionalInterface, overrides, printElements
-
-
-
-
Method Detail
-
replaceTypeElementIfNecessary
protected javax.lang.model.element.TypeElement replaceTypeElementIfNecessary(javax.lang.model.element.TypeElement element)
When running during Eclipse Incremental Compilation, we might get a TypeElement that has an UnresolvedTypeBinding and which is not automatically resolved. In that case, getEnclosedElements returns an empty list. We take that as a hint to check if the TypeElement resolved by FQN might have any enclosed elements and, if so, return the resolved element.- Specified by:
replaceTypeElementIfNecessaryin classAbstractElementUtilsDecorator- Parameters:
element- the original element- Returns:
- the element freshly resolved using the qualified name, if the original element did not return any enclosed elements, whereas the resolved element does return enclosed elements.
-
-