Class ContextualClassCodeVisitor
- java.lang.Object
 - 
- org.codehaus.groovy.ast.CodeVisitorSupport
 - 
- org.codehaus.groovy.ast.ClassCodeVisitorSupport
 - 
- org.codehaus.groovy.macro.matcher.ContextualClassCodeVisitor
 
 
 
 
- 
- All Implemented Interfaces:
 GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
public abstract class ContextualClassCodeVisitor extends ClassCodeVisitorSupport
A class code visitor which is capable of remembering the context of the current visit. This makes it easier for subclasses to perform context-dependent transformations, where for example it is necessary to check the parent nodes of an AST node before performing some operations.- Since:
 - 2.5.0
 
 
- 
- 
Constructor Summary
Constructors Constructor Description ContextualClassCodeVisitor() 
- 
Method Summary
- 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, getSourceUnit, visitAnnotations, visitClassCodeContainer, visitConstructor, visitDeclarationExpression, visitMethod, visitObjectInitializerStatements, visitStatement 
- 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitListOfExpressions 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getTreeContext
public TreeContext getTreeContext()
 
- 
getLastContext
public TreeContext getLastContext()
 
- 
pushContext
protected void pushContext(TreeContext ctx)
 
- 
popContext
protected TreeContext popContext()
 
- 
pushContext
protected void pushContext(ASTNode node)
 
- 
visitClass
public void visitClass(ClassNode node)
Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
 visitClassin interfaceGroovyClassVisitor- Overrides:
 visitClassin classClassCodeVisitorSupport
 
- 
visitPackage
public void visitPackage(PackageNode node)
- Overrides:
 visitPackagein classClassCodeVisitorSupport
 
- 
visitImports
public void visitImports(ModuleNode node)
- Overrides:
 visitImportsin classClassCodeVisitorSupport
 
- 
visitConstructorOrMethod
protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
- Overrides:
 visitConstructorOrMethodin classClassCodeVisitorSupport
 
- 
visitField
public void visitField(FieldNode node)
Description copied from interface:GroovyClassVisitorVisit a FieldNode.- Specified by:
 visitFieldin interfaceGroovyClassVisitor- Overrides:
 visitFieldin classClassCodeVisitorSupport
 
- 
visitProperty
public void visitProperty(PropertyNode node)
Description copied from interface:GroovyClassVisitorVisit a PropertyNode.- Specified by:
 visitPropertyin interfaceGroovyClassVisitor- Overrides:
 visitPropertyin classClassCodeVisitorSupport
 
- 
visitMethodCallExpression
public void visitMethodCallExpression(MethodCallExpression call)
- Specified by:
 visitMethodCallExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitMethodCallExpressionin classCodeVisitorSupport
 
- 
visitStaticMethodCallExpression
public void visitStaticMethodCallExpression(StaticMethodCallExpression call)
- Specified by:
 visitStaticMethodCallExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitStaticMethodCallExpressionin classCodeVisitorSupport
 
- 
visitConstructorCallExpression
public void visitConstructorCallExpression(ConstructorCallExpression call)
- Specified by:
 visitConstructorCallExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitConstructorCallExpressionin classCodeVisitorSupport
 
- 
visitBinaryExpression
public void visitBinaryExpression(BinaryExpression expression)
- Specified by:
 visitBinaryExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitBinaryExpressionin classCodeVisitorSupport
 
- 
visitTernaryExpression
public void visitTernaryExpression(TernaryExpression expression)
- Specified by:
 visitTernaryExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitTernaryExpressionin classCodeVisitorSupport
 
- 
visitShortTernaryExpression
public void visitShortTernaryExpression(ElvisOperatorExpression expression)
- Specified by:
 visitShortTernaryExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitShortTernaryExpressionin classCodeVisitorSupport
 
- 
visitPostfixExpression
public void visitPostfixExpression(PostfixExpression expression)
- Specified by:
 visitPostfixExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitPostfixExpressionin classCodeVisitorSupport
 
- 
visitPrefixExpression
public void visitPrefixExpression(PrefixExpression expression)
- Specified by:
 visitPrefixExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitPrefixExpressionin classCodeVisitorSupport
 
- 
visitBooleanExpression
public void visitBooleanExpression(BooleanExpression expression)
- Specified by:
 visitBooleanExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitBooleanExpressionin classCodeVisitorSupport
 
- 
visitNotExpression
public void visitNotExpression(NotExpression expression)
- Specified by:
 visitNotExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitNotExpressionin classCodeVisitorSupport
 
- 
visitClosureExpression
public void visitClosureExpression(ClosureExpression expression)
- Specified by:
 visitClosureExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitClosureExpressionin classCodeVisitorSupport
 
- 
visitTupleExpression
public void visitTupleExpression(TupleExpression expression)
- Specified by:
 visitTupleExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitTupleExpressionin classCodeVisitorSupport
 
- 
visitListExpression
public void visitListExpression(ListExpression expression)
- Specified by:
 visitListExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitListExpressionin classCodeVisitorSupport
 
- 
visitArrayExpression
public void visitArrayExpression(ArrayExpression expression)
- Specified by:
 visitArrayExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitArrayExpressionin classCodeVisitorSupport
 
- 
visitMapExpression
public void visitMapExpression(MapExpression expression)
- Specified by:
 visitMapExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitMapExpressionin classCodeVisitorSupport
 
- 
visitMapEntryExpression
public void visitMapEntryExpression(MapEntryExpression expression)
- Specified by:
 visitMapEntryExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitMapEntryExpressionin classCodeVisitorSupport
 
- 
visitRangeExpression
public void visitRangeExpression(RangeExpression expression)
- Specified by:
 visitRangeExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitRangeExpressionin classCodeVisitorSupport
 
- 
visitSpreadExpression
public void visitSpreadExpression(SpreadExpression expression)
- Specified by:
 visitSpreadExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitSpreadExpressionin classCodeVisitorSupport
 
- 
visitSpreadMapExpression
public void visitSpreadMapExpression(SpreadMapExpression expression)
- Specified by:
 visitSpreadMapExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitSpreadMapExpressionin classCodeVisitorSupport
 
- 
visitMethodPointerExpression
public void visitMethodPointerExpression(MethodPointerExpression expression)
- Specified by:
 visitMethodPointerExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitMethodPointerExpressionin classCodeVisitorSupport
 
- 
visitUnaryMinusExpression
public void visitUnaryMinusExpression(UnaryMinusExpression expression)
- Specified by:
 visitUnaryMinusExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitUnaryMinusExpressionin classCodeVisitorSupport
 
- 
visitUnaryPlusExpression
public void visitUnaryPlusExpression(UnaryPlusExpression expression)
- Specified by:
 visitUnaryPlusExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitUnaryPlusExpressionin classCodeVisitorSupport
 
- 
visitBitwiseNegationExpression
public void visitBitwiseNegationExpression(BitwiseNegationExpression expression)
- Specified by:
 visitBitwiseNegationExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitBitwiseNegationExpressionin classCodeVisitorSupport
 
- 
visitCastExpression
public void visitCastExpression(CastExpression expression)
- Specified by:
 visitCastExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitCastExpressionin classCodeVisitorSupport
 
- 
visitConstantExpression
public void visitConstantExpression(ConstantExpression expression)
- Specified by:
 visitConstantExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitConstantExpressionin classCodeVisitorSupport
 
- 
visitClassExpression
public void visitClassExpression(ClassExpression expression)
- Specified by:
 visitClassExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitClassExpressionin classCodeVisitorSupport
 
- 
visitVariableExpression
public void visitVariableExpression(VariableExpression expression)
- Specified by:
 visitVariableExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitVariableExpressionin classCodeVisitorSupport
 
- 
visitPropertyExpression
public void visitPropertyExpression(PropertyExpression expression)
- Specified by:
 visitPropertyExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitPropertyExpressionin classCodeVisitorSupport
 
- 
visitAttributeExpression
public void visitAttributeExpression(AttributeExpression expression)
- Specified by:
 visitAttributeExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitAttributeExpressionin classCodeVisitorSupport
 
- 
visitFieldExpression
public void visitFieldExpression(FieldExpression expression)
- Specified by:
 visitFieldExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitFieldExpressionin classCodeVisitorSupport
 
- 
visitGStringExpression
public void visitGStringExpression(GStringExpression expression)
- Specified by:
 visitGStringExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitGStringExpressionin classCodeVisitorSupport
 
- 
visitClosureListExpression
public void visitClosureListExpression(ClosureListExpression cle)
- Specified by:
 visitClosureListExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitClosureListExpressionin classCodeVisitorSupport
 
- 
visitBytecodeExpression
public void visitBytecodeExpression(BytecodeExpression cle)
- Specified by:
 visitBytecodeExpressionin interfaceGroovyCodeVisitor- Overrides:
 visitBytecodeExpressionin classCodeVisitorSupport
 
- 
visitAssertStatement
public void visitAssertStatement(AssertStatement statement)
- Specified by:
 visitAssertStatementin interfaceGroovyCodeVisitor- Overrides:
 visitAssertStatementin classClassCodeVisitorSupport
 
- 
visitBlockStatement
public void visitBlockStatement(BlockStatement block)
- Specified by:
 visitBlockStatementin interfaceGroovyCodeVisitor- Overrides:
 visitBlockStatementin classClassCodeVisitorSupport
 
- 
visitBreakStatement
public void visitBreakStatement(BreakStatement statement)
- Specified by:
 visitBreakStatementin interfaceGroovyCodeVisitor- Overrides:
 visitBreakStatementin classClassCodeVisitorSupport
 
- 
visitCaseStatement
public void visitCaseStatement(CaseStatement statement)
- Specified by:
 visitCaseStatementin interfaceGroovyCodeVisitor- Overrides:
 visitCaseStatementin classClassCodeVisitorSupport
 
- 
visitCatchStatement
public void visitCatchStatement(CatchStatement statement)
- Specified by:
 visitCatchStatementin interfaceGroovyCodeVisitor- Overrides:
 visitCatchStatementin classClassCodeVisitorSupport
 
- 
visitContinueStatement
public void visitContinueStatement(ContinueStatement statement)
- Specified by:
 visitContinueStatementin interfaceGroovyCodeVisitor- Overrides:
 visitContinueStatementin classClassCodeVisitorSupport
 
- 
visitDoWhileLoop
public void visitDoWhileLoop(DoWhileStatement loop)
- Specified by:
 visitDoWhileLoopin interfaceGroovyCodeVisitor- Overrides:
 visitDoWhileLoopin classClassCodeVisitorSupport
 
- 
visitExpressionStatement
public void visitExpressionStatement(ExpressionStatement statement)
- Specified by:
 visitExpressionStatementin interfaceGroovyCodeVisitor- Overrides:
 visitExpressionStatementin classClassCodeVisitorSupport
 
- 
visitForLoop
public void visitForLoop(ForStatement forLoop)
- Specified by:
 visitForLoopin interfaceGroovyCodeVisitor- Overrides:
 visitForLoopin classClassCodeVisitorSupport
 
- 
visitIfElse
public void visitIfElse(IfStatement ifElse)
- Specified by:
 visitIfElsein interfaceGroovyCodeVisitor- Overrides:
 visitIfElsein classClassCodeVisitorSupport
 
- 
visitReturnStatement
public void visitReturnStatement(ReturnStatement statement)
- Specified by:
 visitReturnStatementin interfaceGroovyCodeVisitor- Overrides:
 visitReturnStatementin classClassCodeVisitorSupport
 
- 
visitSwitch
public void visitSwitch(SwitchStatement statement)
- Specified by:
 visitSwitchin interfaceGroovyCodeVisitor- Overrides:
 visitSwitchin classClassCodeVisitorSupport
 
- 
visitSynchronizedStatement
public void visitSynchronizedStatement(SynchronizedStatement statement)
- Specified by:
 visitSynchronizedStatementin interfaceGroovyCodeVisitor- Overrides:
 visitSynchronizedStatementin classClassCodeVisitorSupport
 
- 
visitThrowStatement
public void visitThrowStatement(ThrowStatement statement)
- Specified by:
 visitThrowStatementin interfaceGroovyCodeVisitor- Overrides:
 visitThrowStatementin classClassCodeVisitorSupport
 
- 
visitTryCatchFinally
public void visitTryCatchFinally(TryCatchStatement statement)
- Specified by:
 visitTryCatchFinallyin interfaceGroovyCodeVisitor- Overrides:
 visitTryCatchFinallyin classClassCodeVisitorSupport
 
- 
visitWhileLoop
public void visitWhileLoop(WhileStatement loop)
- Specified by:
 visitWhileLoopin interfaceGroovyCodeVisitor- Overrides:
 visitWhileLoopin classClassCodeVisitorSupport
 
- 
visitEmptyStatement
protected void visitEmptyStatement(EmptyStatement statement)
- Overrides:
 visitEmptyStatementin classCodeVisitorSupport
 
- 
getTreePath
public List<TreeContext> getTreePath()
 
- 
pathMatches
public List<TreeContext> pathMatches(List<ASTNodePredicate> predicates)
 
- 
pathUpTo
public List<TreeContext> pathUpTo(ASTNodePredicate predicate)
 
- 
pathUpTo
public List<TreeContext> pathUpTo(Class<ASTNode> node)
 
- 
pathUpTo
public List<TreeContext> pathUpTo(Class<ASTNode> node, ASTNodePredicate predicate)
 
- 
matchByClass
public static List<ASTNodePredicate> matchByClass(Class<ASTNode>... classes)
 
 - 
 
 -