Class AnnotationClosureVisitor
- 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.AnnotationClosureVisitor
-
- All Implemented Interfaces:
ASTNodeMetaData,GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
public class AnnotationClosureVisitor extends BaseVisitor implements ASTNodeMetaData
Visits interfaces & classes and looks for @Requires or @Ensures and createsClosureclasses for the annotation closures.The annotation closure classes are used later on to check interface contract pre- and post-conditions in implementation classes.
- See Also:
Requires,Ensures,BaseVisitor
-
-
Field Summary
Fields Modifier and Type Field Description static StringMETA_DATA_ORIGINAL_TRY_CATCH_BLOCKstatic StringMETA_DATA_USE_EXECUTION_TRACKER-
Fields inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor
CLOSURE_ATTRIBUTE_NAME, GCONTRACTS_ENABLED_VAR, source, sourceUnit
-
Fields inherited from interface org.apache.groovy.contracts.ast.visitor.ASTNodeMetaData
CLOSURE_REPLACED, PROCESSED
-
-
Constructor Summary
Constructors Constructor Description AnnotationClosureVisitor(SourceUnit sourceUnit, ReaderSource source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidvisitClass(ClassNode node)Visit a ClassNode.voidvisitConstructorOrMethod(MethodNode methodNode, boolean isConstructor)-
Methods inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor
getSourceUnit
-
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotation, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
-
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, 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, visitVariableExpression
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visitEmptyExpression, visitListOfExpressions
-
-
-
-
Field Detail
-
META_DATA_USE_EXECUTION_TRACKER
public static final String META_DATA_USE_EXECUTION_TRACKER
- See Also:
- Constant Field Values
-
META_DATA_ORIGINAL_TRY_CATCH_BLOCK
public static final String META_DATA_ORIGINAL_TRY_CATCH_BLOCK
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AnnotationClosureVisitor
public AnnotationClosureVisitor(SourceUnit sourceUnit, ReaderSource source)
-
-
Method Detail
-
visitClass
public void visitClass(ClassNode node)
Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport
-
visitConstructorOrMethod
public void visitConstructorOrMethod(MethodNode methodNode, boolean isConstructor)
- Overrides:
visitConstructorOrMethodin classClassCodeVisitorSupport
-
-