Top Fields Constructors Methods
org.codehaus.groovy.transform

public Class CompileDynamicProcessor

extends AnnotationCollectorTransform
Class Inheritance
Imports
groovy.transform.CompileStatic, .TypeCheckingMode, org.codehaus.groovy.ast.AnnotatedNode, .AnnotationNode, .ClassHelper, .ClassNode, org.codehaus.groovy.ast.expr.ClassExpression, .PropertyExpression, org.codehaus.groovy.control.SourceUnit, java.util.Collections, .List

Field Summary

Modifier and TypeField and Description
private static final ClassNode
private static final ClassNode

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public List<AnnotationNode>
visit(AnnotationNode
reference to the annotation with AnnotationCollector
collector
,
AnnotationNode
reference to the place of usage of the alias
aliasAnnotationUsage
,
AnnotatedNode
reference to the node that has been annotated by the alias
aliasAnnotated
,
SourceUnit
source unit for error reporting
source
)

Overrides org.codehaus.groovy.transform.AnnotationCollectorTransform.visit.

Implementation method of the alias annotation processor.
Inherited from org.codehaus.groovy.transform.AnnotationCollectorTransform:
addErrorgetTargetAnnotationList

Field Detail

COMPILESTATIC_NODEback to summary
private static final ClassNode COMPILESTATIC_NODE
TYPECHECKINGMODE_NODEback to summary
private static final ClassNode TYPECHECKINGMODE_NODE

Constructor Detail

CompileDynamicProcessorback to summary
public CompileDynamicProcessor()

Method Detail

visitback to summary
public List<AnnotationNode> visit(AnnotationNode collector, AnnotationNode aliasAnnotationUsage, AnnotatedNode aliasAnnotated, SourceUnit source)

Overrides org.codehaus.groovy.transform.AnnotationCollectorTransform.visit.

Doc from org.codehaus.groovy.transform.AnnotationCollectorTransform.visit.

Implementation method of the alias annotation processor. This method will get the list of annotations we aliased from the collector and adds it to aliasAnnotationUsage. The method will also map all members from aliasAnnotationUsage to the aliased nodes. Should a member stay unmapped, we will ad an error. Further processing of those members is done by the annotations.

Parameters
collector:AnnotationNode

reference to the annotation with AnnotationCollector

aliasAnnotationUsage:AnnotationNode

reference to the place of usage of the alias

aliasAnnotated:AnnotatedNode

reference to the node that has been annotated by the alias

source:SourceUnit

source unit for error reporting

Returns:List<AnnotationNode>

list of the new AnnotationNodes