Top Description Fields Constructors Methods
org.codehaus.groovy.transform

public Class AutoImplementASTTransformation

extends AbstractASTTransformation
Class Inheritance
Annotations
@GroovyASTTransformation
phase:CANONICALIZATION
Imports
groovy.transform.AutoImplement, .Undefined, org.codehaus.groovy.ast.ASTNode, .AnnotatedNode, .AnnotationNode, .ClassHelper, .ClassNode, .MethodNode, .Parameter, .PropertyNode, org.codehaus.groovy.ast.expr.ClosureExpression, .Expression, org.codehaus.groovy.ast.stmt.EmptyStatement, .Statement, org.codehaus.groovy.control.CompilePhase, .SourceUnit, java.util.ArrayList, .Collections, .HashMap, .List, .Map

Generates code for the @AutoImplement annotation.

Field Summary

Modifier and TypeField and Description
private static final Class<?>
private static final ClassNode
private static final String
Inherited from org.codehaus.groovy.transform.AbstractASTTransformation:
RETENTION_CLASSNODEsourceUnit

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static Statement
createMethodBody(final ClassNode cNode, final MethodNode mNode, final ClassNode exception, final String message, final ClosureExpression code)

private void
createMethods(final ClassNode cNode, final ClassNode exception, final String message, final ClosureExpression code)

private static Map<String, MethodNode>
getAllCorrectedMethodsMap(final ClassNode cNode)

Returns all methods including abstract super/interface methods but only if not overridden by a concrete declared/inherited method.

private static MethodNode
getDeclaredMethodCorrected(final Map<String, ClassNode> genericsSpec, final MethodNode origMethod, final ClassNode correctedClass)

private static boolean
public void
visit(final ASTNode[]
The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.
nodes
,
final SourceUnit
The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.
source
)

Implements org.codehaus.groovy.transform.ASTTransformation.visit.

The method is invoked when an AST Transformation is active.
Inherited from org.codehaus.groovy.transform.AbstractASTTransformation:
addErrorcheckIncludeExcludecheckIncludeExcludecheckIncludeExcludeUndefinedAwarecheckIncludeExcludeUndefinedAwarecheckNotInterfacecheckPropertyListcheckPropertyListcheckPropertyListcopyAnnotatedNodeAnnotationscopyAnnotatedNodeAnnotationsdeemedInternalNamegetAnnotationNamegetClassListgetMemberClassListgetMemberClassValuegetMemberClassValuegetMemberIntValuegetMemberListgetMemberStringListgetMemberStringValuegetMemberStringValuegetMemberValuehasAnnotationinitmemberHasValuenonGenericshouldSkipshouldSkipshouldSkipOnDescriptorshouldSkipOnDescriptorUndefinedAwareshouldSkipUndefinedAwareshouldSkipUndefinedAwaretokenize

Field Detail

MY_CLASSback to summary
private static final Class<?> MY_CLASS
MY_TYPEback to summary
private static final ClassNode MY_TYPE
MY_TYPE_NAMEback to summary
private static final String MY_TYPE_NAME

Constructor Detail

AutoImplementASTTransformationback to summary
public AutoImplementASTTransformation()

Method Detail

createMethodBodyback to summary
private static Statement createMethodBody(final ClassNode cNode, final MethodNode mNode, final ClassNode exception, final String message, final ClosureExpression code)
createMethodsback to summary
private void createMethods(final ClassNode cNode, final ClassNode exception, final String message, final ClosureExpression code)
getAllCorrectedMethodsMapback to summary
private static Map<String, MethodNode> getAllCorrectedMethodsMap(final ClassNode cNode)

Returns all methods including abstract super/interface methods but only if not overridden by a concrete declared/inherited method.

getDeclaredMethodCorrectedback to summary
private static MethodNode getDeclaredMethodCorrected(final Map<String, ClassNode> genericsSpec, final MethodNode origMethod, final ClassNode correctedClass)
isWeakerCandidateback to summary
private static boolean isWeakerCandidate(MethodNode existing, MethodNode found)
visitback to summary
public void visit(final ASTNode[] nodes, final SourceUnit source)

Implements org.codehaus.groovy.transform.ASTTransformation.visit.

Doc from org.codehaus.groovy.transform.ASTTransformation.visit.

The method is invoked when an AST Transformation is active. For local transformations, it is invoked once each time the local annotation is encountered. For global transformations, it is invoked once for every source unit, which is typically a source file.

Parameters
nodes:ASTNode[]

The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.

source:SourceUnit

The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.

Annotations
@Override