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 java.util.List<TreeContext> getTreePath()
-
pathMatches
public java.util.List<TreeContext> pathMatches(java.util.List<ASTNodePredicate> predicates)
-
pathUpTo
public java.util.List<TreeContext> pathUpTo(ASTNodePredicate predicate)
-
pathUpTo
public java.util.List<TreeContext> pathUpTo(java.lang.Class<ASTNode> node)
-
pathUpTo
public java.util.List<TreeContext> pathUpTo(java.lang.Class<ASTNode> node, ASTNodePredicate predicate)
-
matchByClass
public static java.util.List<ASTNodePredicate> matchByClass(java.lang.Class<ASTNode>... classes)
-
-