Class ContextualClassCodeVisitor

  • All Implemented Interfaces:
    org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor, org.codehaus.groovy.transform.ErrorCollecting

    public abstract class ContextualClassCodeVisitor
    extends org.codehaus.groovy.ast.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 Detail

      • ContextualClassCodeVisitor

        public ContextualClassCodeVisitor()
    • Method Detail

      • pushContext

        protected void pushContext​(TreeContext ctx)
      • pushContext

        protected void pushContext​(org.codehaus.groovy.ast.ASTNode node)
      • visitClass

        public void visitClass​(org.codehaus.groovy.ast.ClassNode node)
        Specified by:
        visitClass in interface org.codehaus.groovy.ast.GroovyClassVisitor
        Overrides:
        visitClass in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitPackage

        public void visitPackage​(org.codehaus.groovy.ast.PackageNode node)
        Overrides:
        visitPackage in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitImports

        public void visitImports​(org.codehaus.groovy.ast.ModuleNode node)
        Overrides:
        visitImports in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitConstructorOrMethod

        protected void visitConstructorOrMethod​(org.codehaus.groovy.ast.MethodNode node,
                                                boolean isConstructor)
        Overrides:
        visitConstructorOrMethod in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitField

        public void visitField​(org.codehaus.groovy.ast.FieldNode node)
        Specified by:
        visitField in interface org.codehaus.groovy.ast.GroovyClassVisitor
        Overrides:
        visitField in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitProperty

        public void visitProperty​(org.codehaus.groovy.ast.PropertyNode node)
        Specified by:
        visitProperty in interface org.codehaus.groovy.ast.GroovyClassVisitor
        Overrides:
        visitProperty in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitMethodCallExpression

        public void visitMethodCallExpression​(org.codehaus.groovy.ast.expr.MethodCallExpression call)
        Specified by:
        visitMethodCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitMethodCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitStaticMethodCallExpression

        public void visitStaticMethodCallExpression​(org.codehaus.groovy.ast.expr.StaticMethodCallExpression call)
        Specified by:
        visitStaticMethodCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitStaticMethodCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitConstructorCallExpression

        public void visitConstructorCallExpression​(org.codehaus.groovy.ast.expr.ConstructorCallExpression call)
        Specified by:
        visitConstructorCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitConstructorCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitBinaryExpression

        public void visitBinaryExpression​(org.codehaus.groovy.ast.expr.BinaryExpression expression)
        Specified by:
        visitBinaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBinaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitTernaryExpression

        public void visitTernaryExpression​(org.codehaus.groovy.ast.expr.TernaryExpression expression)
        Specified by:
        visitTernaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitTernaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitShortTernaryExpression

        public void visitShortTernaryExpression​(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expression)
        Specified by:
        visitShortTernaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitShortTernaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitPostfixExpression

        public void visitPostfixExpression​(org.codehaus.groovy.ast.expr.PostfixExpression expression)
        Specified by:
        visitPostfixExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitPostfixExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitPrefixExpression

        public void visitPrefixExpression​(org.codehaus.groovy.ast.expr.PrefixExpression expression)
        Specified by:
        visitPrefixExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitPrefixExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitBooleanExpression

        public void visitBooleanExpression​(org.codehaus.groovy.ast.expr.BooleanExpression expression)
        Specified by:
        visitBooleanExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBooleanExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitNotExpression

        public void visitNotExpression​(org.codehaus.groovy.ast.expr.NotExpression expression)
        Specified by:
        visitNotExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitNotExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitClosureExpression

        public void visitClosureExpression​(org.codehaus.groovy.ast.expr.ClosureExpression expression)
        Specified by:
        visitClosureExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitClosureExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitTupleExpression

        public void visitTupleExpression​(org.codehaus.groovy.ast.expr.TupleExpression expression)
        Specified by:
        visitTupleExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitTupleExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitListExpression

        public void visitListExpression​(org.codehaus.groovy.ast.expr.ListExpression expression)
        Specified by:
        visitListExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitListExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitArrayExpression

        public void visitArrayExpression​(org.codehaus.groovy.ast.expr.ArrayExpression expression)
        Specified by:
        visitArrayExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitArrayExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitMapExpression

        public void visitMapExpression​(org.codehaus.groovy.ast.expr.MapExpression expression)
        Specified by:
        visitMapExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitMapExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitMapEntryExpression

        public void visitMapEntryExpression​(org.codehaus.groovy.ast.expr.MapEntryExpression expression)
        Specified by:
        visitMapEntryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitMapEntryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitRangeExpression

        public void visitRangeExpression​(org.codehaus.groovy.ast.expr.RangeExpression expression)
        Specified by:
        visitRangeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitRangeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitSpreadExpression

        public void visitSpreadExpression​(org.codehaus.groovy.ast.expr.SpreadExpression expression)
        Specified by:
        visitSpreadExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitSpreadExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitSpreadMapExpression

        public void visitSpreadMapExpression​(org.codehaus.groovy.ast.expr.SpreadMapExpression expression)
        Specified by:
        visitSpreadMapExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitSpreadMapExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitMethodPointerExpression

        public void visitMethodPointerExpression​(org.codehaus.groovy.ast.expr.MethodPointerExpression expression)
        Specified by:
        visitMethodPointerExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitMethodPointerExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitUnaryMinusExpression

        public void visitUnaryMinusExpression​(org.codehaus.groovy.ast.expr.UnaryMinusExpression expression)
        Specified by:
        visitUnaryMinusExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitUnaryMinusExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitUnaryPlusExpression

        public void visitUnaryPlusExpression​(org.codehaus.groovy.ast.expr.UnaryPlusExpression expression)
        Specified by:
        visitUnaryPlusExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitUnaryPlusExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitBitwiseNegationExpression

        public void visitBitwiseNegationExpression​(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expression)
        Specified by:
        visitBitwiseNegationExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBitwiseNegationExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitCastExpression

        public void visitCastExpression​(org.codehaus.groovy.ast.expr.CastExpression expression)
        Specified by:
        visitCastExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitCastExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitConstantExpression

        public void visitConstantExpression​(org.codehaus.groovy.ast.expr.ConstantExpression expression)
        Specified by:
        visitConstantExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitConstantExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitClassExpression

        public void visitClassExpression​(org.codehaus.groovy.ast.expr.ClassExpression expression)
        Specified by:
        visitClassExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitClassExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitVariableExpression

        public void visitVariableExpression​(org.codehaus.groovy.ast.expr.VariableExpression expression)
        Specified by:
        visitVariableExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitVariableExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitPropertyExpression

        public void visitPropertyExpression​(org.codehaus.groovy.ast.expr.PropertyExpression expression)
        Specified by:
        visitPropertyExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitPropertyExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitAttributeExpression

        public void visitAttributeExpression​(org.codehaus.groovy.ast.expr.AttributeExpression expression)
        Specified by:
        visitAttributeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitAttributeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitFieldExpression

        public void visitFieldExpression​(org.codehaus.groovy.ast.expr.FieldExpression expression)
        Specified by:
        visitFieldExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitFieldExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitGStringExpression

        public void visitGStringExpression​(org.codehaus.groovy.ast.expr.GStringExpression expression)
        Specified by:
        visitGStringExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitGStringExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitClosureListExpression

        public void visitClosureListExpression​(org.codehaus.groovy.ast.expr.ClosureListExpression cle)
        Specified by:
        visitClosureListExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitClosureListExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitBytecodeExpression

        public void visitBytecodeExpression​(org.codehaus.groovy.classgen.BytecodeExpression cle)
        Specified by:
        visitBytecodeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBytecodeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
      • visitAssertStatement

        public void visitAssertStatement​(org.codehaus.groovy.ast.stmt.AssertStatement statement)
        Specified by:
        visitAssertStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitAssertStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitBlockStatement

        public void visitBlockStatement​(org.codehaus.groovy.ast.stmt.BlockStatement block)
        Specified by:
        visitBlockStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBlockStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitBreakStatement

        public void visitBreakStatement​(org.codehaus.groovy.ast.stmt.BreakStatement statement)
        Specified by:
        visitBreakStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitBreakStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitCaseStatement

        public void visitCaseStatement​(org.codehaus.groovy.ast.stmt.CaseStatement statement)
        Specified by:
        visitCaseStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitCaseStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitCatchStatement

        public void visitCatchStatement​(org.codehaus.groovy.ast.stmt.CatchStatement statement)
        Specified by:
        visitCatchStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitCatchStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitContinueStatement

        public void visitContinueStatement​(org.codehaus.groovy.ast.stmt.ContinueStatement statement)
        Specified by:
        visitContinueStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitContinueStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitDoWhileLoop

        public void visitDoWhileLoop​(org.codehaus.groovy.ast.stmt.DoWhileStatement loop)
        Specified by:
        visitDoWhileLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitDoWhileLoop in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitExpressionStatement

        public void visitExpressionStatement​(org.codehaus.groovy.ast.stmt.ExpressionStatement statement)
        Specified by:
        visitExpressionStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitExpressionStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitForLoop

        public void visitForLoop​(org.codehaus.groovy.ast.stmt.ForStatement forLoop)
        Specified by:
        visitForLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitForLoop in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitIfElse

        public void visitIfElse​(org.codehaus.groovy.ast.stmt.IfStatement ifElse)
        Specified by:
        visitIfElse in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitIfElse in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitReturnStatement

        public void visitReturnStatement​(org.codehaus.groovy.ast.stmt.ReturnStatement statement)
        Specified by:
        visitReturnStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitReturnStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitSwitch

        public void visitSwitch​(org.codehaus.groovy.ast.stmt.SwitchStatement statement)
        Specified by:
        visitSwitch in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitSwitch in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitSynchronizedStatement

        public void visitSynchronizedStatement​(org.codehaus.groovy.ast.stmt.SynchronizedStatement statement)
        Specified by:
        visitSynchronizedStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitSynchronizedStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitThrowStatement

        public void visitThrowStatement​(org.codehaus.groovy.ast.stmt.ThrowStatement statement)
        Specified by:
        visitThrowStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitThrowStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitTryCatchFinally

        public void visitTryCatchFinally​(org.codehaus.groovy.ast.stmt.TryCatchStatement statement)
        Specified by:
        visitTryCatchFinally in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitTryCatchFinally in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitWhileLoop

        public void visitWhileLoop​(org.codehaus.groovy.ast.stmt.WhileStatement loop)
        Specified by:
        visitWhileLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitWhileLoop in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
      • visitEmptyStatement

        public void visitEmptyStatement​(org.codehaus.groovy.ast.stmt.EmptyStatement statement)
        Specified by:
        visitEmptyStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
        Overrides:
        visitEmptyStatement in class org.codehaus.groovy.ast.CodeVisitorSupport