[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

Constructors
Constructor and description
ContextualClassCodeVisitor ()

Methods Summary

Methods
Type Params Return Type Name and description
public TreeContext getLastContext()
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)
public Expression transform(Expression exp)
public void visitArrayExpression(ArrayExpression expression)
public void visitAssertStatement(AssertStatement statement)
public void visitAttributeExpression(AttributeExpression expression)
public void visitBinaryExpression(BinaryExpression expression)
public void visitBitwiseNegationExpression(BitwiseNegationExpression expression)
public void visitBlockStatement(BlockStatement block)
public void visitBooleanExpression(BooleanExpression expression)
public void visitBreakStatement(BreakStatement statement)
public void visitBytecodeExpression(BytecodeExpression cle)
public void visitCaseStatement(CaseStatement statement)
public void visitCastExpression(CastExpression expression)
public void visitCatchStatement(CatchStatement statement)
public void visitClass(ClassNode node)
public void visitClassExpression(ClassExpression expression)
public void visitClosureExpression(ClosureExpression expression)
public void visitClosureListExpression(ClosureListExpression cle)
public void visitConstantExpression(ConstantExpression expression)
public void visitConstructorCallExpression(ConstructorCallExpression call)
protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
public void visitContinueStatement(ContinueStatement statement)
public void visitDoWhileLoop(DoWhileStatement loop)
public void visitEmptyStatement(EmptyStatement statement)
public void visitExpressionStatement(ExpressionStatement statement)
public void visitField(FieldNode node)
public void visitFieldExpression(FieldExpression expression)
public void visitForLoop(ForStatement forLoop)
public void visitGStringExpression(GStringExpression expression)
public void visitIfElse(IfStatement ifElse)
public void visitImports(ModuleNode node)
public void visitListExpression(ListExpression expression)
public void visitMapEntryExpression(MapEntryExpression expression)
public void visitMapExpression(MapExpression expression)
public void visitMethodCallExpression(MethodCallExpression call)
public void visitMethodPointerExpression(MethodPointerExpression expression)
public void visitNotExpression(NotExpression expression)
public void visitPackage(PackageNode node)
public void visitPostfixExpression(PostfixExpression expression)
public void visitPrefixExpression(PrefixExpression expression)
public void visitProperty(PropertyNode node)
public void visitPropertyExpression(PropertyExpression expression)
public void visitRangeExpression(RangeExpression expression)
public void visitReturnStatement(ReturnStatement statement)
public void visitShortTernaryExpression(ElvisOperatorExpression expression)
public void visitSpreadExpression(SpreadExpression expression)
public void visitSpreadMapExpression(SpreadMapExpression expression)
public void visitStaticMethodCallExpression(StaticMethodCallExpression call)
public void visitSwitch(SwitchStatement statement)
public void visitSynchronizedStatement(SynchronizedStatement statement)
public void visitTernaryExpression(TernaryExpression expression)
public void visitThrowStatement(ThrowStatement statement)
public void visitTryCatchFinally(TryCatchStatement statement)
public void visitTupleExpression(TupleExpression expression)
public void visitUnaryMinusExpression(UnaryMinusExpression expression)
public void visitUnaryPlusExpression(UnaryPlusExpression expression)
public void visitVariableExpression(VariableExpression expression)
public void visitWhileLoop(WhileStatement loop)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class ClassCodeVisitorSupport addError, getSourceUnit, visitAnnotation, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
class CodeVisitorSupport afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop

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