[Java] Class TraitASTTransformation
- org.codehaus.groovy.transform.trait.TraitASTTransformation
- All Implemented Interfaces and Traits:
- CompilationUnitAware
@GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS) public class TraitASTTransformation extends AbstractASTTransformation
Handles generation of code for the traits (trait keyword is equivalent to using the
- Trait:
- annotation). A class annotated with
- Trait:
- will generate, instead:
- an interface with the same name
- a utility inner class that will be used by the compiler to implement the trait
- potentially a utility inner class to assist with implementing trait fields
- Authors:
- Cedric Champeau
Field Summary
Modifiers | Name | Description |
---|---|---|
static String | DO_DYNAMIC | |
static String | POST_TYPECHECKING_REPLACEMENT |
Fields inherited from class | Fields |
---|---|
class AbstractASTTransformation | RETENTION_CLASSNODE, sourceUnit |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
void |
setCompilationUnit(CompilationUnit unit) | |
void |
visit(ASTNode[] nodes, SourceUnit source) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class AbstractASTTransformation | addError, checkIncludeExclude, checkIncludeExclude, checkNotInterface, copyAnnotatedNodeAnnotations, deemedInternalName, getClassList, getMemberClassValue, getMemberClassValue, getMemberIntValue, getMemberList, getMemberStringValue, getMemberStringValue, getMemberValue, hasAnnotation, init, memberHasValue, nonGeneric, shouldSkip, shouldSkipOnDescriptor, tokenize |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
public static final String DO_DYNAMIC
public static final String POST_TYPECHECKING_REPLACEMENT
Method Detail
public void setCompilationUnit(CompilationUnit unit)
public void visit(ASTNode[] nodes, SourceUnit source)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/transform/trait/TraitASTTransformation.html