public abstract class AbstractMethodNodeTransformer extends AbstractTransformer
Transformer can be used to transform MethodNode
nodes. To locate the classes you want to transform, a criteria in
form of Closure can be passed in the constructor.
The criteria must be a Closure receiving as unique parameter
a MethodNode and returning a Boolean value. If the closure
returns true, then the transformation will be applied.
There are some static methods creating some default criterias:
| Constructor and Description |
|---|
AbstractMethodNodeTransformer(SourceUnit sourceUnit,
Closure<java.lang.Boolean> criteria)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
transformMethod(MethodNode methodNode)
Within this method developer could modify the
MethodNode
instance. |
void |
visitMethod(MethodNode methodNode) |
getModule, getModulePackageName, getSourceUnittransform, visitAnnotations, visitAssertStatement, visitCaseStatement, visitConstructorOrMethod, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoopaddError, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinallyvisitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitClasspublic AbstractMethodNodeTransformer(SourceUnit sourceUnit, Closure<java.lang.Boolean> criteria)
Transformer
a Closure returning a boolean is used as a criteria.
You can create your own criteria or use one of the static
methods present in this class. These methods will create a
pre-defined criteria.
The Closure used as a criteria will receive a MethodNode and return a Boolean value. If the closure
returns true then the transformation will be apply, if not the
MethodNode will be discarded.sourceUnit - Needed to apply scopecriteria - used to locate target classes
look for the qualified method)Criterias.byMethodNodeNameContains(String)public void visitMethod(MethodNode methodNode)
visitMethod in interface GroovyClassVisitorvisitMethod in class ClassCodeVisitorSupportpublic abstract void transformMethod(MethodNode methodNode)
MethodNode
instance.methodNode - the MethodNode you want to transform