public class GrailsASTUtils
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static org.codehaus.groovy.syntax.Token |
ASSIGNMENT_OPERATOR |
static java.lang.String |
DOMAIN_DIR |
static org.codehaus.groovy.syntax.Token |
EQUALS_OPERATOR |
static java.lang.String |
GRAILS_APP_DIR |
static org.codehaus.groovy.ast.ClassNode |
INTEGER_CLASS_NODE |
static org.codehaus.groovy.syntax.Token |
LOGICAL_AND_OPERATOR |
static java.lang.String |
METHOD_MISSING_METHOD_NAME |
static org.codehaus.groovy.ast.ClassNode |
MISSING_METHOD_EXCEPTION |
static org.codehaus.groovy.syntax.Token |
NOT_EQUALS_OPERATOR |
static org.codehaus.groovy.ast.expr.ConstantExpression |
NULL_EXPRESSION |
static org.codehaus.groovy.ast.ClassNode |
OBJECT_CLASS_NODE |
static java.lang.String |
STATIC_METHOD_MISSING_METHOD_NAME |
static org.codehaus.groovy.ast.expr.VariableExpression |
THIS_EXPR
Deprecated.
Sharing copies of VariableExpression which refer to "this" is unsafe
|
static org.codehaus.groovy.ast.ClassNode |
VOID_CLASS_NODE |
static org.codehaus.groovy.ast.expr.ArgumentListExpression |
ZERO_ARGUMENTS |
static org.codehaus.groovy.ast.Parameter[] |
ZERO_PARAMETERS |
| Constructor and Description |
|---|
GrailsASTUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addAnnotationIfNecessary(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<Entity> entityClass) |
static org.codehaus.groovy.ast.AnnotatedNode |
addCompileStaticAnnotation(org.codehaus.groovy.ast.AnnotatedNode annotatedNode)
Marks a method to be staticly compiled
|
static org.codehaus.groovy.ast.AnnotatedNode |
addCompileStaticAnnotation(org.codehaus.groovy.ast.AnnotatedNode annotatedNode,
boolean skip)
Adds @CompileStatic annotation to method
|
static org.codehaus.groovy.ast.ConstructorNode |
addDelegateConstructor(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode constructorMethod,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
Adds or modifies an existing constructor to delegate to the
given static constructor method for initialization logic.
|
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod)
Adds a delegate method to the target class node where the first argument
is to the delegate method is 'this'.
|
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation) |
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument) |
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) |
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck)
Adds a delegate method to the target class node where the first argument
is to the delegate method is 'this'.
|
static org.codehaus.groovy.ast.MethodNode |
addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
boolean thisAsFirstArgument) |
static void |
addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode supportedSuperType,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance) |
static void |
addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode supportedSuperType,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck,
boolean addCompileStatic) |
static void |
addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance) |
static void |
addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) |
static org.codehaus.groovy.ast.MethodNode |
addDelegateStaticMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod)
Adds a static method call to given class node that delegates to the given method
|
static org.codehaus.groovy.ast.MethodNode |
addDelegateStaticMethod(org.codehaus.groovy.ast.expr.Expression expression,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod)
Adds a static method to the given class node that delegates to the given method
and resolves the object to invoke the method on from the given expression.
|
static org.codehaus.groovy.ast.MethodNode |
addDelegateStaticMethod(org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck)
Adds a static method to the given class node that delegates to the given method
and resolves the object to invoke the method on from the given expression.
|
static org.codehaus.groovy.ast.FieldNode |
addFieldIfNonExistent(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode fieldType,
java.lang.String fieldName) |
static void |
addMethodIfNotPresent(org.codehaus.groovy.ast.ClassNode controllerClassNode,
org.codehaus.groovy.ast.MethodNode methodNode) |
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyDefaultMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
java.lang.Class<?> targetClass)
Set the method target of a MethodCallExpression to the first matching method with same number of arguments.
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyDefaultMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode)
Set the method target of a MethodCallExpression to the first matching method with same number of arguments.
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyImplicitThis(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
boolean useImplicitThis) |
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
java.lang.Class<?> targetClass,
java.lang.Class<?>... targetParameterClassTypes)
Set the method target of a MethodCallExpression to the first matching method with same number and type of arguments.
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode,
java.lang.Class<?>... targetParameterClassTypes)
Set the method target of a MethodCallExpression to the first matching method with same number and type of arguments.
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode,
org.codehaus.groovy.ast.ClassNode... targetParameterTypes)
Set the method target of a MethodCallExpression to the first matching method with same number and type of arguments.
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
buildGetMapExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String keyName)
Build static direct call to get entry from Map
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
buildGetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode)
Build static direct call to getter of a property
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
buildGetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode,
boolean useBooleanGetter)
Build static direct call to getter of a property
|
static org.codehaus.groovy.ast.expr.Expression |
buildGetThisObjectExpression(boolean inClosureBlock) |
static org.codehaus.groovy.ast.expr.MethodCallExpression |
buildPutMapExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String keyName,
org.codehaus.groovy.ast.expr.Expression valueExpression)
Build static direct call to put entry in Map
|
static org.codehaus.groovy.ast.expr.MethodCallExpression |
buildSetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode,
org.codehaus.groovy.ast.expr.Expression valueExpression)
Build static direct call to setter of a property
|
static org.codehaus.groovy.ast.expr.Expression |
buildThisExpression() |
static org.codehaus.groovy.ast.AnnotationNode |
cloneAnnotation(org.codehaus.groovy.ast.AnnotationNode node) |
static void |
copyAnnotations(org.codehaus.groovy.ast.AnnotatedNode from,
org.codehaus.groovy.ast.AnnotatedNode to) |
static void |
copyAnnotations(org.codehaus.groovy.ast.AnnotatedNode from,
org.codehaus.groovy.ast.AnnotatedNode to,
java.util.Set<java.lang.String> included,
java.util.Set<java.lang.String> excluded) |
static org.codehaus.groovy.ast.Parameter[] |
copyParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes) |
static org.codehaus.groovy.ast.Parameter[] |
copyParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) |
static org.codehaus.groovy.ast.expr.ArgumentListExpression |
createArgumentListFromParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
Creates an argument list from the given parameter types.
|
static org.codehaus.groovy.ast.stmt.ExpressionStatement |
createPrintlnStatement(java.lang.String message) |
static org.codehaus.groovy.ast.stmt.ExpressionStatement |
createPrintlnStatement(java.lang.String message,
java.lang.String variable) |
static void |
error(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode astNode,
java.lang.String message)
Generates a fatal compilation error.
|
static void |
error(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode astNode,
java.lang.String message,
boolean fatal)
Generates a fatal compilation error.
|
static void |
filterAnnotations(org.codehaus.groovy.ast.AnnotatedNode annotatedNode,
java.util.Set<java.lang.String> classNamesToRetain,
java.util.Set<java.lang.String> classNamesToRemove) |
static org.codehaus.groovy.ast.AnnotationNode |
findAnnotation(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<?> type) |
static org.codehaus.groovy.ast.AnnotationNode |
findAnnotation(org.codehaus.groovy.ast.ClassNode annotationClassNode,
java.util.List<org.codehaus.groovy.ast.AnnotationNode> annotations) |
static org.codehaus.groovy.ast.ConstructorNode |
findConstructor(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.Parameter[] constructorParams)
Finds a constructor for the given class node and parameter types
|
static org.codehaus.groovy.ast.ClassNode |
findInterface(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode interfaceNode) |
static java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> |
getAllAssociationMap(org.codehaus.groovy.ast.ClassNode classNode) |
static java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> |
getAssocationMap(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String associationType)
Returns a map containing the names and types of the given association type.
|
static java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.groovy.ast.expr.Expression>> |
getConstraintMetadata(org.codehaus.groovy.ast.expr.ClosureExpression closureExpression)
Evaluates a constraints closure and returns metadata about the constraints configured in the closure.
|
static org.codehaus.groovy.ast.ConstructorNode |
getDefaultConstructor(org.codehaus.groovy.ast.ClassNode classNode)
Obtains the default constructor for the given class node.
|
static java.lang.String |
getFullName(org.codehaus.groovy.ast.ClassNode classNode)
Gets the full name of a ClassNode.
|
static org.codehaus.groovy.ast.ClassNode |
getFurthestParent(org.codehaus.groovy.ast.ClassNode classNode) |
static org.codehaus.groovy.ast.ClassNode |
getFurthestUnresolvedParent(org.codehaus.groovy.ast.ClassNode classNode) |
static org.codehaus.groovy.ast.Parameter[] |
getRemainingParameterTypes(org.codehaus.groovy.ast.Parameter[] parameters)
Gets the remaining parameters excluding the first parameter in the given list
|
static boolean |
hasAnnotation(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Returns true if classNode is marked with annotationClass
|
static boolean |
hasAnyAnnotations(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<? extends java.lang.annotation.Annotation>... annotationsToLookFor) |
static boolean |
hasOrInheritsProperty(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String propertyName) |
static boolean |
hasProperty(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String propertyName)
Returns whether a classNode has the specified property or not
|
static boolean |
hasZeroArgsConstructor(org.codehaus.groovy.ast.ClassNode implementationNode) |
static boolean |
implementsOrInheritsZeroArgMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String methodName,
java.util.List ignoreClasses) |
static boolean |
implementsZeroArgMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String methodName)
Tests whether the ClasNode implements the specified method name.
|
static boolean |
isApplied(org.codehaus.groovy.ast.ASTNode astNode,
java.lang.Class<?> transformationClass) |
static boolean |
isCandidateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode declaredMethod) |
static boolean |
isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod) |
static boolean |
isConstructorMethod(org.codehaus.groovy.ast.MethodNode declaredMethod) |
static boolean |
isDomainClass(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.control.SourceUnit sourceNode) |
static boolean |
isInnerClassNode(org.codehaus.groovy.ast.ClassNode classNode)
Whether the given class node is an inner class
|
static boolean |
isSetterOrGetterMethod(org.codehaus.groovy.ast.MethodNode md) |
static void |
markApplied(org.codehaus.groovy.ast.ASTNode astNode,
java.lang.Class<?> transformationClass) |
static org.codehaus.groovy.ast.expr.MethodCallExpression |
noImplicitThis(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression) |
static org.codehaus.groovy.ast.ClassNode |
nonGeneric(org.codehaus.groovy.ast.ClassNode type) |
static org.codehaus.groovy.ast.ClassNode |
nonGeneric(org.codehaus.groovy.ast.ClassNode type,
org.codehaus.groovy.ast.ClassNode wildcardReplacement) |
static boolean |
parametersEqual(org.codehaus.groovy.ast.Parameter[] a,
org.codehaus.groovy.ast.Parameter[] b) |
static void |
processVariableScopes(org.codehaus.groovy.control.SourceUnit source,
org.codehaus.groovy.ast.ClassNode classNode) |
static void |
processVariableScopes(org.codehaus.groovy.control.SourceUnit source,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode methodNode) |
static void |
removeCompileStaticAnnotations(org.codehaus.groovy.ast.AnnotatedNode annotatedNode) |
static org.codehaus.groovy.ast.ClassNode |
replaceGenericsPlaceholders(org.codehaus.groovy.ast.ClassNode type,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) |
static void |
warning(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode node,
java.lang.String warningMessage) |
static void |
wrapMethodBodyInTryCatchDebugStatements(org.codehaus.groovy.ast.MethodNode methodNode)
Wraps a method body in try / catch logic that catches any errors and logs an error, but does not rethrow!
|
public static final java.lang.String DOMAIN_DIR
public static final java.lang.String GRAILS_APP_DIR
public static final java.lang.String METHOD_MISSING_METHOD_NAME
public static final java.lang.String STATIC_METHOD_MISSING_METHOD_NAME
public static final org.codehaus.groovy.syntax.Token EQUALS_OPERATOR
public static final org.codehaus.groovy.syntax.Token LOGICAL_AND_OPERATOR
public static final org.codehaus.groovy.syntax.Token NOT_EQUALS_OPERATOR
public static final org.codehaus.groovy.ast.ClassNode MISSING_METHOD_EXCEPTION
public static final org.codehaus.groovy.ast.expr.ConstantExpression NULL_EXPRESSION
public static final org.codehaus.groovy.syntax.Token ASSIGNMENT_OPERATOR
public static final org.codehaus.groovy.ast.ClassNode OBJECT_CLASS_NODE
public static final org.codehaus.groovy.ast.ClassNode VOID_CLASS_NODE
public static final org.codehaus.groovy.ast.ClassNode INTEGER_CLASS_NODE
public static final org.codehaus.groovy.ast.Parameter[] ZERO_PARAMETERS
public static final org.codehaus.groovy.ast.expr.ArgumentListExpression ZERO_ARGUMENTS
@Deprecated public static final org.codehaus.groovy.ast.expr.VariableExpression THIS_EXPR
public static void warning(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode node,
java.lang.String warningMessage)
public static void error(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode astNode,
java.lang.String message)
sourceUnit - the SourceUnitastNode - the ASTNode which caused the errormessage - The error messagepublic static void error(org.codehaus.groovy.control.SourceUnit sourceUnit,
org.codehaus.groovy.ast.ASTNode astNode,
java.lang.String message,
boolean fatal)
sourceUnit - the SourceUnitastNode - the ASTNode which caused the errormessage - The error messagefatal - indicates if this is a fatal errorpublic static boolean hasProperty(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String propertyName)
classNode - The ClassNodepropertyName - The name of the propertypublic static boolean hasOrInheritsProperty(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String propertyName)
public static boolean implementsZeroArgMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String methodName)
classNode - The ClassNodemethodName - The method namepublic static boolean implementsOrInheritsZeroArgMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String methodName,
java.util.List ignoreClasses)
public static java.lang.String getFullName(org.codehaus.groovy.ast.ClassNode classNode)
classNode - The class nodepublic static org.codehaus.groovy.ast.ClassNode getFurthestParent(org.codehaus.groovy.ast.ClassNode classNode)
public static org.codehaus.groovy.ast.ClassNode getFurthestUnresolvedParent(org.codehaus.groovy.ast.ClassNode classNode)
public static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod)
classNode - The class nodedelegate - The expression that looks up the delegatedeclaredMethod - The declared methodpublic static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation)
public static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
boolean thisAsFirstArgument)
public static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument)
public static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
public static org.codehaus.groovy.ast.MethodNode addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.MethodNode declaredMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck)
classNode - The class nodedelegate - The expression that looks up the delegatedeclaredMethod - The declared methodthisAsFirstArgument - Whether 'this' should be passed as the first argument to the methodpublic static org.codehaus.groovy.ast.expr.ArgumentListExpression createArgumentListFromParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes,
boolean thisAsFirstArgument,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
parameterTypes - The parameter typesthisAsFirstArgument - Whether to include a reference to 'this' as the first argumentgenericsPlaceholders - public static org.codehaus.groovy.ast.Parameter[] getRemainingParameterTypes(org.codehaus.groovy.ast.Parameter[] parameters)
parameters - The parameterspublic static org.codehaus.groovy.ast.MethodNode addDelegateStaticMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod)
classNode - The class nodedelegateMethod - The delegate methodpublic static org.codehaus.groovy.ast.MethodNode addDelegateStaticMethod(org.codehaus.groovy.ast.expr.Expression expression,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod)
expression - The expressionclassNode - The class nodedelegateMethod - The delegate methodpublic static org.codehaus.groovy.ast.MethodNode addDelegateStaticMethod(org.codehaus.groovy.ast.expr.Expression delegate,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode delegateMethod,
org.codehaus.groovy.ast.AnnotationNode markerAnnotation,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck)
delegate - The expressionclassNode - The class nodedelegateMethod - The delegate methodmarkerAnnotation - A marker annotation to be added to all methodspublic static org.codehaus.groovy.ast.ConstructorNode addDelegateConstructor(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode constructorMethod,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
classNode - The class nodeconstructorMethod - The constructor static methodpublic static org.codehaus.groovy.ast.ConstructorNode findConstructor(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.Parameter[] constructorParams)
classNode - The class nodeconstructorParams - The parameter typespublic static boolean parametersEqual(org.codehaus.groovy.ast.Parameter[] a,
org.codehaus.groovy.ast.Parameter[] b)
public static org.codehaus.groovy.ast.ConstructorNode getDefaultConstructor(org.codehaus.groovy.ast.ClassNode classNode)
classNode - The class nodepublic static org.codehaus.groovy.ast.Parameter[] copyParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes)
public static org.codehaus.groovy.ast.Parameter[] copyParameters(org.codehaus.groovy.ast.Parameter[] parameterTypes,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
public static org.codehaus.groovy.ast.ClassNode nonGeneric(org.codehaus.groovy.ast.ClassNode type)
public static org.codehaus.groovy.ast.ClassNode nonGeneric(org.codehaus.groovy.ast.ClassNode type,
org.codehaus.groovy.ast.ClassNode wildcardReplacement)
public static org.codehaus.groovy.ast.ClassNode replaceGenericsPlaceholders(org.codehaus.groovy.ast.ClassNode type,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
public static boolean isCandidateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode declaredMethod)
public static boolean isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
public static boolean isConstructorMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
public static boolean isDomainClass(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.control.SourceUnit sourceNode)
public static void addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance)
public static void addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders)
public static void addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode supportedSuperType,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance)
public static void addDelegateInstanceMethods(org.codehaus.groovy.ast.ClassNode supportedSuperType,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode delegateNode,
org.codehaus.groovy.ast.expr.Expression delegateInstance,
java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> genericsPlaceholders,
boolean noNullCheck,
boolean addCompileStatic)
public static org.codehaus.groovy.ast.FieldNode addFieldIfNonExistent(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode fieldType,
java.lang.String fieldName)
public static void addAnnotationIfNecessary(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<Entity> entityClass)
public static org.codehaus.groovy.ast.AnnotationNode findAnnotation(org.codehaus.groovy.ast.ClassNode annotationClassNode,
java.util.List<org.codehaus.groovy.ast.AnnotationNode> annotations)
public static org.codehaus.groovy.ast.AnnotationNode findAnnotation(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<?> type)
public static boolean hasAnnotation(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
classNode - A ClassNode to inspectannotationClass - an annotation to look forpublic static boolean hasAnyAnnotations(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.Class<? extends java.lang.annotation.Annotation>... annotationsToLookFor)
classNode - a ClassNode to searchannotationsToLookFor - Annotations to look forpublic static void addMethodIfNotPresent(org.codehaus.groovy.ast.ClassNode controllerClassNode,
org.codehaus.groovy.ast.MethodNode methodNode)
public static org.codehaus.groovy.ast.stmt.ExpressionStatement createPrintlnStatement(java.lang.String message)
public static org.codehaus.groovy.ast.stmt.ExpressionStatement createPrintlnStatement(java.lang.String message,
java.lang.String variable)
public static void wrapMethodBodyInTryCatchDebugStatements(org.codehaus.groovy.ast.MethodNode methodNode)
methodNode - The method nodepublic static java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.groovy.ast.expr.Expression>> getConstraintMetadata(org.codehaus.groovy.ast.expr.ClosureExpression closureExpression)
closureExpression - the closure expression to evaluatepublic static java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> getAssocationMap(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String associationType)
classNode - The target class ndoeassociationType - The associationTypepublic static java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode> getAllAssociationMap(org.codehaus.groovy.ast.ClassNode classNode)
public static org.codehaus.groovy.ast.ClassNode findInterface(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.ClassNode interfaceNode)
public static boolean hasZeroArgsConstructor(org.codehaus.groovy.ast.ClassNode implementationNode)
public static boolean isInnerClassNode(org.codehaus.groovy.ast.ClassNode classNode)
classNode - The class nodepublic static org.codehaus.groovy.ast.AnnotatedNode addCompileStaticAnnotation(org.codehaus.groovy.ast.AnnotatedNode annotatedNode)
annotatedNode - public static org.codehaus.groovy.ast.AnnotatedNode addCompileStaticAnnotation(org.codehaus.groovy.ast.AnnotatedNode annotatedNode,
boolean skip)
annotatedNode - skip - public static org.codehaus.groovy.ast.expr.MethodCallExpression applyDefaultMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode)
methodCallExpression - targetClassNode - public static org.codehaus.groovy.ast.expr.MethodCallExpression applyDefaultMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
java.lang.Class<?> targetClass)
methodCallExpression - targetClass - public static org.codehaus.groovy.ast.expr.MethodCallExpression applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode,
org.codehaus.groovy.ast.ClassNode... targetParameterTypes)
methodCallExpression - targetClassNode - targetParameterTypes - public static org.codehaus.groovy.ast.expr.MethodCallExpression applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
java.lang.Class<?> targetClass,
java.lang.Class<?>... targetParameterClassTypes)
methodCallExpression - targetClass - targetParameterClassTypes - public static org.codehaus.groovy.ast.expr.MethodCallExpression applyMethodTarget(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
org.codehaus.groovy.ast.ClassNode targetClassNode,
java.lang.Class<?>... targetParameterClassTypes)
methodCallExpression - targetClassNode - targetParameterClassTypes - public static org.codehaus.groovy.ast.expr.MethodCallExpression buildGetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode)
objectExpression - propertyName - targetClassNode - public static org.codehaus.groovy.ast.expr.MethodCallExpression buildGetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode,
boolean useBooleanGetter)
objectExpression - propertyName - targetClassNode - useBooleanGetter - public static org.codehaus.groovy.ast.expr.MethodCallExpression buildSetPropertyExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String propertyName,
org.codehaus.groovy.ast.ClassNode targetClassNode,
org.codehaus.groovy.ast.expr.Expression valueExpression)
objectExpression - propertyName - targetClassNode - valueExpression - public static org.codehaus.groovy.ast.expr.MethodCallExpression buildPutMapExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String keyName,
org.codehaus.groovy.ast.expr.Expression valueExpression)
objectExpression - keyName - valueExpression - public static org.codehaus.groovy.ast.expr.MethodCallExpression buildGetMapExpression(org.codehaus.groovy.ast.expr.Expression objectExpression,
java.lang.String keyName)
objectExpression - keyName - public static org.codehaus.groovy.ast.expr.Expression buildGetThisObjectExpression(boolean inClosureBlock)
public static org.codehaus.groovy.ast.expr.Expression buildThisExpression()
public static org.codehaus.groovy.ast.expr.MethodCallExpression noImplicitThis(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression)
public static org.codehaus.groovy.ast.expr.MethodCallExpression applyImplicitThis(org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression,
boolean useImplicitThis)
public static void copyAnnotations(org.codehaus.groovy.ast.AnnotatedNode from,
org.codehaus.groovy.ast.AnnotatedNode to)
public static void copyAnnotations(org.codehaus.groovy.ast.AnnotatedNode from,
org.codehaus.groovy.ast.AnnotatedNode to,
java.util.Set<java.lang.String> included,
java.util.Set<java.lang.String> excluded)
public static org.codehaus.groovy.ast.AnnotationNode cloneAnnotation(org.codehaus.groovy.ast.AnnotationNode node)
public static void filterAnnotations(org.codehaus.groovy.ast.AnnotatedNode annotatedNode,
java.util.Set<java.lang.String> classNamesToRetain,
java.util.Set<java.lang.String> classNamesToRemove)
public static void removeCompileStaticAnnotations(org.codehaus.groovy.ast.AnnotatedNode annotatedNode)
public static void markApplied(org.codehaus.groovy.ast.ASTNode astNode,
java.lang.Class<?> transformationClass)
public static boolean isApplied(org.codehaus.groovy.ast.ASTNode astNode,
java.lang.Class<?> transformationClass)
public static void processVariableScopes(org.codehaus.groovy.control.SourceUnit source,
org.codehaus.groovy.ast.ClassNode classNode)
public static void processVariableScopes(org.codehaus.groovy.control.SourceUnit source,
org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode methodNode)
public static boolean isSetterOrGetterMethod(org.codehaus.groovy.ast.MethodNode md)