[Java] Class ContextualClassCodeVisitor
- org.codehaus.groovy.macro.matcher.ContextualClassCodeVisitor
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
Constructor and description |
---|
ContextualClassCodeVisitor
() |
Methods Summary
Inherited Methods Summary
Constructor Detail
public ContextualClassCodeVisitor()
Method Detail
public TreeContext getLastContext()
@Override protected SourceUnit getSourceUnit()
public TreeContext getTreeContext()
public List<TreeContext> getTreePath()
public static List<ASTNodePredicate> matchByClass(Class<ASTNode> classes)
public List<TreeContext> pathMatches(List<ASTNodePredicate> predicates)
public List<TreeContext> pathUpTo(ASTNodePredicate predicate)
public List<TreeContext> pathUpTo(Class<ASTNode> node)
public List<TreeContext> pathUpTo(Class<ASTNode> node, ASTNodePredicate predicate)
protected TreeContext popContext()
protected void pushContext(TreeContext ctx)
protected void pushContext(ASTNode node)
@Override public Expression transform(Expression exp)
@Override public void visitArrayExpression(ArrayExpression expression)
@Override public void visitAssertStatement(AssertStatement statement)
@Override public void visitAttributeExpression(AttributeExpression expression)
@Override public void visitBinaryExpression(BinaryExpression expression)
@Override public void visitBitwiseNegationExpression(BitwiseNegationExpression expression)
@Override public void visitBlockStatement(BlockStatement block)
@Override public void visitBooleanExpression(BooleanExpression expression)
@Override public void visitBreakStatement(BreakStatement statement)
@Override public void visitBytecodeExpression(BytecodeExpression cle)
@Override public void visitCaseStatement(CaseStatement statement)
@Override public void visitCastExpression(CastExpression expression)
@Override public void visitCatchStatement(CatchStatement statement)
@Override public void visitClass(ClassNode node)
@Override public void visitClassExpression(ClassExpression expression)
@Override public void visitClosureExpression(ClosureExpression expression)
@Override public void visitClosureListExpression(ClosureListExpression cle)
@Override public void visitConstantExpression(ConstantExpression expression)
@Override public void visitConstructorCallExpression(ConstructorCallExpression call)
@Override protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
@Override public void visitContinueStatement(ContinueStatement statement)
@Override public void visitDoWhileLoop(DoWhileStatement loop)
@Override public void visitEmptyStatement(EmptyStatement statement)
@Override public void visitExpressionStatement(ExpressionStatement statement)
@Override public void visitField(FieldNode node)
@Override public void visitFieldExpression(FieldExpression expression)
@Override public void visitForLoop(ForStatement forLoop)
@Override public void visitGStringExpression(GStringExpression expression)
@Override public void visitIfElse(IfStatement ifElse)
@Override public void visitImports(ModuleNode node)
@Override public void visitListExpression(ListExpression expression)
@Override public void visitMapEntryExpression(MapEntryExpression expression)
@Override public void visitMapExpression(MapExpression expression)
@Override public void visitMethodCallExpression(MethodCallExpression call)
@Override public void visitMethodPointerExpression(MethodPointerExpression expression)
@Override public void visitNotExpression(NotExpression expression)
@Override public void visitPackage(PackageNode node)
@Override public void visitPostfixExpression(PostfixExpression expression)
@Override public void visitPrefixExpression(PrefixExpression expression)
@Override public void visitProperty(PropertyNode node)
@Override public void visitPropertyExpression(PropertyExpression expression)
@Override public void visitRangeExpression(RangeExpression expression)
@Override public void visitReturnStatement(ReturnStatement statement)
@Override public void visitShortTernaryExpression(ElvisOperatorExpression expression)
@Override public void visitSpreadExpression(SpreadExpression expression)
@Override public void visitSpreadMapExpression(SpreadMapExpression expression)
@Override public void visitStaticMethodCallExpression(StaticMethodCallExpression call)
@Override public void visitSwitch(SwitchStatement statement)
@Override public void visitSynchronizedStatement(SynchronizedStatement statement)
@Override public void visitTernaryExpression(TernaryExpression expression)
@Override public void visitThrowStatement(ThrowStatement statement)
@Override public void visitTryCatchFinally(TryCatchStatement statement)
@Override public void visitTupleExpression(TupleExpression expression)
@Override public void visitUnaryMinusExpression(UnaryMinusExpression expression)
@Override public void visitUnaryPlusExpression(UnaryPlusExpression expression)
@Override public void visitVariableExpression(VariableExpression expression)
@Override public void visitWhileLoop(WhileStatement loop)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/macro/matcher/ContextualClassCodeVisitor.html