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:
Elements,ElementUtils
-
Nested Class Summary
Nested classes/interfaces inherited from interface javax.lang.model.util.Elements
Elements.Origin -
Method Summary
Modifier and TypeMethodDescriptionprotected TypeElementreplaceTypeElementIfNecessary(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, printElementsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.lang.model.util.Elements
getAllModuleElements, getAllPackageElements, getAllTypeElements, getFileObjectOf, getModuleElement, getModuleOf, getOrigin, getOrigin, getOrigin, getOutermostTypeElement, getPackageElement, getTypeElement, isAutomaticModule, isBridge, isCanonicalConstructor, isCompactConstructor, recordComponentFor
-
Method Details
-
replaceTypeElementIfNecessary
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.
-