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
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic List<ASTNodePredicate>matchByClass(Class<ASTNode>... classes) pathMatches(List<ASTNodePredicate> predicates) pathUpTo(Class<ASTNode> node, ASTNodePredicate predicate) pathUpTo(ASTNodePredicate predicate) protected TreeContextprotected voidpushContext(ASTNode node) protected voidpushContext(TreeContext ctx) voidvisitArrayExpression(ArrayExpression expression) voidvisitAssertStatement(AssertStatement statement) voidvisitAttributeExpression(AttributeExpression expression) voidvisitBinaryExpression(BinaryExpression expression) voidvoidvoidvisitBooleanExpression(BooleanExpression expression) voidvisitBreakStatement(BreakStatement statement) voidvoidvisitCaseStatement(CaseStatement statement) voidvisitCastExpression(CastExpression expression) voidvisitCatchStatement(CatchStatement statement) voidvisitClass(ClassNode node) Visit a ClassNode.voidvisitClassExpression(ClassExpression expression) voidvisitClosureExpression(ClosureExpression expression) voidvoidvisitConstantExpression(ConstantExpression expression) voidprotected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor) voidvisitContinueStatement(ContinueStatement statement) voidvoidvisitEmptyStatement(EmptyStatement statement) voidvisitExpressionStatement(ExpressionStatement statement) voidvisitField(FieldNode node) Visit a FieldNode.voidvisitFieldExpression(FieldExpression expression) voidvisitForLoop(ForStatement forLoop) voidvisitGStringExpression(GStringExpression expression) voidvisitIfElse(IfStatement ifElse) voidvisitImports(ModuleNode node) voidvisitListExpression(ListExpression expression) voidvisitMapEntryExpression(MapEntryExpression expression) voidvisitMapExpression(MapExpression expression) voidvoidvisitMethodPointerExpression(MethodPointerExpression expression) voidvisitNotExpression(NotExpression expression) voidvisitPackage(PackageNode node) voidvisitPostfixExpression(PostfixExpression expression) voidvisitPrefixExpression(PrefixExpression expression) voidvisitProperty(PropertyNode node) Visit a PropertyNode.voidvisitPropertyExpression(PropertyExpression expression) voidvisitRangeExpression(RangeExpression expression) voidvisitReturnStatement(ReturnStatement statement) voidvisitShortTernaryExpression(ElvisOperatorExpression expression) voidvisitSpreadExpression(SpreadExpression expression) voidvisitSpreadMapExpression(SpreadMapExpression expression) voidvoidvisitSwitch(SwitchStatement statement) voidvisitSynchronizedStatement(SynchronizedStatement statement) voidvisitTernaryExpression(TernaryExpression expression) voidvisitThrowStatement(ThrowStatement statement) voidvisitTryCatchFinally(TryCatchStatement statement) voidvisitTupleExpression(TupleExpression expression) voidvisitUnaryMinusExpression(UnaryMinusExpression expression) voidvisitUnaryPlusExpression(UnaryPlusExpression expression) voidvisitVariableExpression(VariableExpression expression) voidvisitWhileLoop(WhileStatement loop) Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, getSourceUnit, visitAnnotation, visitAnnotations, visitAnnotations, visitClassCodeContainer, visitConstructor, visitDeclarationExpression, visitMethod, visitObjectInitializerStatements, visitStatementMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitLambdaExpression, visitMethodReferenceExpressionMethods 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
-
ContextualClassCodeVisitor
public ContextualClassCodeVisitor()
-
-
Method Details
-
getTreeContext
-
getLastContext
-
pushContext
-
popContext
-
pushContext
-
visitClass
Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport
-
visitPackage
- Overrides:
visitPackagein classClassCodeVisitorSupport
-
visitImports
- Overrides:
visitImportsin classClassCodeVisitorSupport
-
visitConstructorOrMethod
- Overrides:
visitConstructorOrMethodin classClassCodeVisitorSupport
-
visitField
Description copied from interface:GroovyClassVisitorVisit a FieldNode.- Specified by:
visitFieldin interfaceGroovyClassVisitor- Overrides:
visitFieldin classClassCodeVisitorSupport
-
visitProperty
Description copied from interface:GroovyClassVisitorVisit a PropertyNode.- Specified by:
visitPropertyin interfaceGroovyClassVisitor- Overrides:
visitPropertyin classClassCodeVisitorSupport
-
visitMethodCallExpression
- Specified by:
visitMethodCallExpressionin interfaceGroovyCodeVisitor- Overrides:
visitMethodCallExpressionin classCodeVisitorSupport
-
visitStaticMethodCallExpression
- Specified by:
visitStaticMethodCallExpressionin interfaceGroovyCodeVisitor- Overrides:
visitStaticMethodCallExpressionin classCodeVisitorSupport
-
visitConstructorCallExpression
- Specified by:
visitConstructorCallExpressionin interfaceGroovyCodeVisitor- Overrides:
visitConstructorCallExpressionin classCodeVisitorSupport
-
visitBinaryExpression
- Specified by:
visitBinaryExpressionin interfaceGroovyCodeVisitor- Overrides:
visitBinaryExpressionin classCodeVisitorSupport
-
visitTernaryExpression
- Specified by:
visitTernaryExpressionin interfaceGroovyCodeVisitor- Overrides:
visitTernaryExpressionin classCodeVisitorSupport
-
visitShortTernaryExpression
- Specified by:
visitShortTernaryExpressionin interfaceGroovyCodeVisitor- Overrides:
visitShortTernaryExpressionin classCodeVisitorSupport
-
visitPostfixExpression
- Specified by:
visitPostfixExpressionin interfaceGroovyCodeVisitor- Overrides:
visitPostfixExpressionin classCodeVisitorSupport
-
visitPrefixExpression
- Specified by:
visitPrefixExpressionin interfaceGroovyCodeVisitor- Overrides:
visitPrefixExpressionin classCodeVisitorSupport
-
visitBooleanExpression
- Specified by:
visitBooleanExpressionin interfaceGroovyCodeVisitor- Overrides:
visitBooleanExpressionin classCodeVisitorSupport
-
visitNotExpression
- Specified by:
visitNotExpressionin interfaceGroovyCodeVisitor- Overrides:
visitNotExpressionin classCodeVisitorSupport
-
visitClosureExpression
- Specified by:
visitClosureExpressionin interfaceGroovyCodeVisitor- Overrides:
visitClosureExpressionin classCodeVisitorSupport
-
visitTupleExpression
- Specified by:
visitTupleExpressionin interfaceGroovyCodeVisitor- Overrides:
visitTupleExpressionin classCodeVisitorSupport
-
visitListExpression
- Specified by:
visitListExpressionin interfaceGroovyCodeVisitor- Overrides:
visitListExpressionin classCodeVisitorSupport
-
visitArrayExpression
- Specified by:
visitArrayExpressionin interfaceGroovyCodeVisitor- Overrides:
visitArrayExpressionin classCodeVisitorSupport
-
visitMapExpression
- Specified by:
visitMapExpressionin interfaceGroovyCodeVisitor- Overrides:
visitMapExpressionin classCodeVisitorSupport
-
visitMapEntryExpression
- Specified by:
visitMapEntryExpressionin interfaceGroovyCodeVisitor- Overrides:
visitMapEntryExpressionin classCodeVisitorSupport
-
visitRangeExpression
- Specified by:
visitRangeExpressionin interfaceGroovyCodeVisitor- Overrides:
visitRangeExpressionin classCodeVisitorSupport
-
visitSpreadExpression
- Specified by:
visitSpreadExpressionin interfaceGroovyCodeVisitor- Overrides:
visitSpreadExpressionin classCodeVisitorSupport
-
visitSpreadMapExpression
- Specified by:
visitSpreadMapExpressionin interfaceGroovyCodeVisitor- Overrides:
visitSpreadMapExpressionin classCodeVisitorSupport
-
visitMethodPointerExpression
- Specified by:
visitMethodPointerExpressionin interfaceGroovyCodeVisitor- Overrides:
visitMethodPointerExpressionin classCodeVisitorSupport
-
visitUnaryMinusExpression
- Specified by:
visitUnaryMinusExpressionin interfaceGroovyCodeVisitor- Overrides:
visitUnaryMinusExpressionin classCodeVisitorSupport
-
visitUnaryPlusExpression
- Specified by:
visitUnaryPlusExpressionin interfaceGroovyCodeVisitor- Overrides:
visitUnaryPlusExpressionin classCodeVisitorSupport
-
visitBitwiseNegationExpression
- Specified by:
visitBitwiseNegationExpressionin interfaceGroovyCodeVisitor- Overrides:
visitBitwiseNegationExpressionin classCodeVisitorSupport
-
visitCastExpression
- Specified by:
visitCastExpressionin interfaceGroovyCodeVisitor- Overrides:
visitCastExpressionin classCodeVisitorSupport
-
visitConstantExpression
- Specified by:
visitConstantExpressionin interfaceGroovyCodeVisitor- Overrides:
visitConstantExpressionin classCodeVisitorSupport
-
visitClassExpression
- Specified by:
visitClassExpressionin interfaceGroovyCodeVisitor- Overrides:
visitClassExpressionin classCodeVisitorSupport
-
visitVariableExpression
- Specified by:
visitVariableExpressionin interfaceGroovyCodeVisitor- Overrides:
visitVariableExpressionin classCodeVisitorSupport
-
visitPropertyExpression
- Specified by:
visitPropertyExpressionin interfaceGroovyCodeVisitor- Overrides:
visitPropertyExpressionin classCodeVisitorSupport
-
visitAttributeExpression
- Specified by:
visitAttributeExpressionin interfaceGroovyCodeVisitor- Overrides:
visitAttributeExpressionin classCodeVisitorSupport
-
visitFieldExpression
- Specified by:
visitFieldExpressionin interfaceGroovyCodeVisitor- Overrides:
visitFieldExpressionin classCodeVisitorSupport
-
visitGStringExpression
- Specified by:
visitGStringExpressionin interfaceGroovyCodeVisitor- Overrides:
visitGStringExpressionin classCodeVisitorSupport
-
visitClosureListExpression
- Specified by:
visitClosureListExpressionin interfaceGroovyCodeVisitor- Overrides:
visitClosureListExpressionin classCodeVisitorSupport
-
visitBytecodeExpression
- Specified by:
visitBytecodeExpressionin interfaceGroovyCodeVisitor- Overrides:
visitBytecodeExpressionin classCodeVisitorSupport
-
visitAssertStatement
- Specified by:
visitAssertStatementin interfaceGroovyCodeVisitor- Overrides:
visitAssertStatementin classClassCodeVisitorSupport
-
visitBlockStatement
- Specified by:
visitBlockStatementin interfaceGroovyCodeVisitor- Overrides:
visitBlockStatementin classClassCodeVisitorSupport
-
visitBreakStatement
- Specified by:
visitBreakStatementin interfaceGroovyCodeVisitor- Overrides:
visitBreakStatementin classClassCodeVisitorSupport
-
visitCaseStatement
- Specified by:
visitCaseStatementin interfaceGroovyCodeVisitor- Overrides:
visitCaseStatementin classClassCodeVisitorSupport
-
visitCatchStatement
- Specified by:
visitCatchStatementin interfaceGroovyCodeVisitor- Overrides:
visitCatchStatementin classClassCodeVisitorSupport
-
visitContinueStatement
- Specified by:
visitContinueStatementin interfaceGroovyCodeVisitor- Overrides:
visitContinueStatementin classClassCodeVisitorSupport
-
visitDoWhileLoop
- Specified by:
visitDoWhileLoopin interfaceGroovyCodeVisitor- Overrides:
visitDoWhileLoopin classClassCodeVisitorSupport
-
visitExpressionStatement
- Specified by:
visitExpressionStatementin interfaceGroovyCodeVisitor- Overrides:
visitExpressionStatementin classClassCodeVisitorSupport
-
visitForLoop
- Specified by:
visitForLoopin interfaceGroovyCodeVisitor- Overrides:
visitForLoopin classClassCodeVisitorSupport
-
visitIfElse
- Specified by:
visitIfElsein interfaceGroovyCodeVisitor- Overrides:
visitIfElsein classClassCodeVisitorSupport
-
visitReturnStatement
- Specified by:
visitReturnStatementin interfaceGroovyCodeVisitor- Overrides:
visitReturnStatementin classClassCodeVisitorSupport
-
visitSwitch
- Specified by:
visitSwitchin interfaceGroovyCodeVisitor- Overrides:
visitSwitchin classClassCodeVisitorSupport
-
visitSynchronizedStatement
- Specified by:
visitSynchronizedStatementin interfaceGroovyCodeVisitor- Overrides:
visitSynchronizedStatementin classClassCodeVisitorSupport
-
visitThrowStatement
- Specified by:
visitThrowStatementin interfaceGroovyCodeVisitor- Overrides:
visitThrowStatementin classClassCodeVisitorSupport
-
visitTryCatchFinally
- Specified by:
visitTryCatchFinallyin interfaceGroovyCodeVisitor- Overrides:
visitTryCatchFinallyin classClassCodeVisitorSupport
-
visitWhileLoop
- Specified by:
visitWhileLoopin interfaceGroovyCodeVisitor- Overrides:
visitWhileLoopin classClassCodeVisitorSupport
-
visitEmptyStatement
- Specified by:
visitEmptyStatementin interfaceGroovyCodeVisitor- Overrides:
visitEmptyStatementin classCodeVisitorSupport
-
getTreePath
-
pathMatches
-
pathUpTo
-
pathUpTo
-
pathUpTo
-
matchByClass
-