Class AnnotationProcessorVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.apache.groovy.contracts.ast.visitor.BaseVisitor
org.apache.groovy.contracts.ast.visitor.AnnotationProcessorVisitor
- All Implemented Interfaces:
GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
Visits annotations of meta-type
ContractElement and applies the AST transformations of the underlying
AnnotationProcessor implementation.- See Also:
-
Field Summary
Fields inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor
GCONTRACTS_ENABLED_VAR, sourceUnit -
Constructor Summary
ConstructorsConstructorDescriptionAnnotationProcessorVisitor(SourceUnit sourceUnit, ReaderSource source, ProcessingContextInformation pci) Creates a visitor that dispatches contract annotations to their registered processors. -
Method Summary
Modifier and TypeMethodDescriptionstatic AnnotationProcessorgetAnnotationProcessor(String name) Instantiates the annotation processor with the supplied implementation class name.voidvisitClass(ClassNode type) Processes contract annotations declared on the class, its methods, inherited interfaces, and relevant abstract base methods.Methods inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor
asConditionExecution, getOriginalCondition, getReplacedCondition, getSourceUnit, replaceConditionMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitClosureExpression, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitStatementAnnotations, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visit, visit, visitEmptyExpression, visitListOfExpressions
-
Constructor Details
-
AnnotationProcessorVisitor
public AnnotationProcessorVisitor(SourceUnit sourceUnit, ReaderSource source, ProcessingContextInformation pci) Creates a visitor that dispatches contract annotations to their registered processors.- Parameters:
sourceUnit- the source unit currently being transformedsource- the reader source backing the source unitpci- per-class processing context shared across the contracts pipeline
-
-
Method Details
-
visitClass
Processes contract annotations declared on the class, its methods, inherited interfaces, and relevant abstract base methods.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport- Parameters:
type- the class currently being transformed
-
getAnnotationProcessor
Instantiates the annotation processor with the supplied implementation class name.- Parameters:
name- the fully qualified processor class name- Returns:
- the instantiated processor, or
nullif it could not be created
-