Class TypeElementVisitorProcessor
java.lang.Object
javax.annotation.processing.AbstractProcessor
io.micronaut.annotation.processing.TypeElementVisitorProcessor
- All Implemented Interfaces:
Processor
- Direct Known Subclasses:
AggregatingTypeElementVisitorProcessor
@SupportedOptions({"micronaut.processing.incremental","micronaut.processing.annotations","micronaut.processing.project.dir","micronaut.processing.group","micronaut.processing.module"})
public class TypeElementVisitorProcessor
extends AbstractProcessor
The annotation processed used to execute type element visitors.
- Since:
- 1.0
- Author:
- James Kleeh, graemerocher
-
Field Summary
Modifier and TypeFieldDescriptionprotected AnnotationProcessingOutputVisitor
protected Elements
protected Filer
protected static final String
Constant for aggregating processor.protected static final String
Constant for isolating processor.protected JavaVisitorContext
protected Messager
protected static final String
Annotation processor option used to add additional annotation patterns to process.protected static final String
Annotation processor option used to activate incremental processing.protected ModelUtils
protected Types
protected MutableConvertibleValues<Object>
Fields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
Produce a compile error for the given message.protected final void
Produce a compile error for the given element and message.protected @NonNull Collection<? extends TypeElementVisitor<?,
?>> Discovers theTypeElementVisitor
instances that are available.protected TypeElementVisitor.VisitorKind
protected String
protected List<io.micronaut.annotation.processing.LoadedVisitor>
protected TypeElementVisitor.VisitorKind
obtains the visitor kind.protected boolean
Does this process have any visitors.void
init
(ProcessingEnvironment processingEnv) protected boolean
isIncremental
(@NonNull ProcessingEnvironment processingEnv) Whether incremental compilation is enabled.protected boolean
isProcessedAnnotation
(String annotationName) Return whether the given annotation is processed.protected @NonNull JavaVisitorContext
newVisitorContext
(@NonNull ProcessingEnvironment processingEnv) Creates the visitor context.protected final void
Produce a compile note for the given element and message.protected final void
Produce a compile note for the given element and message.boolean
process
(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) protected final void
Produce a compile warning for the given message.protected final void
Produce a compile warning for the given element and message.Methods inherited from class javax.annotation.processing.AbstractProcessor
getCompletions, isInitialized
-
Field Details
-
MICRONAUT_PROCESSING_INCREMENTAL
Annotation processor option used to activate incremental processing.- See Also:
-
MICRONAUT_PROCESSING_ANNOTATIONS
Annotation processor option used to add additional annotation patterns to process.- See Also:
-
GRADLE_PROCESSING_AGGREGATING
Constant for aggregating processor.- See Also:
-
GRADLE_PROCESSING_ISOLATING
Constant for isolating processor.- See Also:
-
messager
-
filer
-
elementUtils
-
typeUtils
-
modelUtils
-
visitorAttributes
-
classWriterOutputVisitor
-
javaVisitorContext
-
-
Constructor Details
-
TypeElementVisitorProcessor
public TypeElementVisitorProcessor()
-
-
Method Details
-
init
-
hasVisitors
protected boolean hasVisitors()Does this process have any visitors.- Returns:
- True if visitors are present.
-
getLoadedVisitors
- Returns:
- The loaded visitors.
-
getIncrementalProcessorKind
- Returns:
- The incremental processor type.
- See Also:
-
getSupportedAnnotationTypes
- Specified by:
getSupportedAnnotationTypes
in interfaceProcessor
-
getSupportedOptions
- Specified by:
getSupportedOptions
in interfaceProcessor
-
process
- Specified by:
process
in interfaceProcessor
- Specified by:
process
in classAbstractProcessor
-
findTypeElementVisitors
Discovers theTypeElementVisitor
instances that are available.- Returns:
- A collection of type element visitors.
-
getSupportedSourceVersion
- Specified by:
getSupportedSourceVersion
in interfaceProcessor
- Overrides:
getSupportedSourceVersion
in classAbstractProcessor
-
getIncrementalProcessorType
- Returns:
- The incremental processor type.
- See Also:
-
isProcessedAnnotation
Return whether the given annotation is processed.- Parameters:
annotationName
- The annotation name- Returns:
- True if it is
-
newVisitorContext
@NonNull protected @NonNull JavaVisitorContext newVisitorContext(@NonNull @NonNull ProcessingEnvironment processingEnv) Creates the visitor context.- Parameters:
processingEnv
- The processing env- Returns:
- The context
-
getVisitorKind
obtains the visitor kind.- Returns:
- The visitor kind
-
error
Produce a compile error for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
error
Produce a compile error for the given message.- Parameters:
msg
- The messageargs
- The string format args
-
warning
Produce a compile warning for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
warning
Produce a compile warning for the given message.- Parameters:
msg
- The messageargs
- The string format args
-
note
Produce a compile note for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
note
Produce a compile note for the given element and message.- Parameters:
msg
- The messageargs
- The string format args
-
isIncremental
Whether incremental compilation is enabled.- Parameters:
processingEnv
- The processing environment.- Returns:
- True if it is
-