| Type Params | Return Type | Name and description |
|---|---|---|
|
static List<TreeContext> |
find(org.codehaus.groovy.ast.ASTNode node, org.codehaus.groovy.ast.ASTNode pattern)Locates all nodes in the given AST which match the pattern AST. |
|
protected org.codehaus.groovy.control.SourceUnit |
getSourceUnit() |
<T> |
T |
ifConstraint(T defaultValue, groovy.lang.Closure<T> code) |
|
static boolean |
matches(org.codehaus.groovy.ast.ASTNode node, org.codehaus.groovy.ast.ASTNode pattern)Matches an AST with another AST (pattern). |
|
void |
visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode node) |
|
void |
visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression ale) |
|
void |
visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expression) |
|
void |
visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expression) |
|
void |
visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression) |
|
void |
visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expression) |
|
void |
visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement block) |
|
void |
visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expression) |
|
void |
visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression cle) |
|
void |
visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expression) |
|
void |
visitClass(org.codehaus.groovy.ast.ClassNode node) |
|
protected void |
visitClassCodeContainer(org.codehaus.groovy.ast.stmt.Statement code) |
|
void |
visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expression) |
|
void |
visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expression) |
|
void |
visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression cle) |
|
void |
visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expression) |
|
void |
visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression call) |
|
protected void |
visitConstructorOrMethod(org.codehaus.groovy.ast.MethodNode node, boolean isConstructor) |
|
void |
visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expression) |
|
void |
visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement statement) |
|
void |
visitField(org.codehaus.groovy.ast.FieldNode node) |
|
void |
visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expression) |
|
void |
visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement forLoop) |
|
void |
visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expression) |
|
void |
visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement ifElse) |
|
void |
visitImports(org.codehaus.groovy.ast.ModuleNode node) |
|
void |
visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expression) |
|
protected void |
visitListOfExpressions(List<? extends org.codehaus.groovy.ast.expr.Expression> list) |
|
void |
visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expression) |
|
void |
visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expression) |
|
void |
visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression call) |
|
void |
visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expression) |
|
void |
visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expression) |
|
protected void |
visitObjectInitializerStatements(org.codehaus.groovy.ast.ClassNode node) |
|
void |
visitPackage(org.codehaus.groovy.ast.PackageNode node) |
|
void |
visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expression) |
|
void |
visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expression) |
|
void |
visitProperty(org.codehaus.groovy.ast.PropertyNode node) |
|
void |
visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expression) |
|
void |
visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expression) |
|
void |
visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expression) |
|
void |
visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expression) |
|
void |
visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression call) |
|
void |
visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expression) |
|
void |
visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expression) |
|
void |
visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expression) |
|
void |
visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expression) |
|
void |
visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expression) |
|
void |
visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement loop) |
|
static org.codehaus.groovy.ast.ASTNode |
withConstraints(org.codehaus.groovy.ast.ASTNode pattern, groovy.lang.Closure constraintsSpec)// todo: experimental! |
| Methods inherited from class | Name |
|---|---|
class ContextualClassCodeVisitor |
getLastContext, getTreeContext, getTreePath, matchByClass, pathMatches, pathUpTo, pathUpTo, pathUpTo, popContext, pushContext, pushContext, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClass, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitField, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitImports, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPackage, visitPostfixExpression, visitPrefixExpression, visitProperty, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop |
class org.codehaus.groovy.ast.ClassCodeVisitorSupport |
org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long), org.codehaus.groovy.ast.ClassCodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeVisitorSupport#toString(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#getClass(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notify(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notifyAll() |
Locates all nodes in the given AST which match the pattern AST. This operation can cost a lot, because it tries to match a sub-tree to every node of the AST.
node - an AST Nodepattern - a pattern to be found somewhere in the ASTMatches an AST with another AST (pattern). It will return true if the AST matches all the nodes from the pattern AST.
node - the AST we want to match withpattern - the pattern AST we want to match to// todo: experimental! Annotates an AST node with matching contraints. This method should be called on an AST intended to be used as a pattern only. It will put node metadata on the AST node allowing customized behavior in pattern matching.
pattern - a pattern ASTconstraintsSpec - a closure specification of matching constraints