[Java] Class ImmutableASTTransformation
- org.codehaus.groovy.transform.ImmutableASTTransformation
- All Implemented Interfaces and Traits:
- CompilationUnitAware
@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION) public class ImmutableASTTransformation extends AbstractASTTransformation implements CompilationUnitAware
Handles generation of code for the
- Immutable:
- annotation.
Field Summary
Modifiers | Name | Description |
---|---|---|
static ClassNode | MY_TYPE |
Fields inherited from class | Fields |
---|---|
class AbstractASTTransformation | RETENTION_CLASSNODE, sourceUnit |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public static Object |
checkImmutable(String className, String fieldName, Object field) This method exists to be binary compatible with 1.7 - 1.8.6 compiled code. | |
public static Object |
checkImmutable(Class<?> clazz, String fieldName, Object field) For compatibility with pre 2.5 compiled classes | |
public static Object |
checkImmutable(Class<?> clazz, String fieldName, Object field, List<String> knownImmutableFieldNames, List<Class> knownImmutableClasses) | |
public static void |
checkPropNames(Object instance, Map<String, Object> args) | |
public String |
getAnnotationName() | |
public void |
setCompilationUnit(CompilationUnit unit) | |
public void |
visit(ASTNode[] nodes, SourceUnit source) |
Inherited Methods Summary
Field Detail
public static final ClassNode MY_TYPE
Method Detail
@SuppressWarnings("Unchecked") public static Object checkImmutable(String className, String fieldName, Object field)
This method exists to be binary compatible with 1.7 - 1.8.6 compiled code.
@SuppressWarnings("Unchecked") public static Object checkImmutable(Class<?> clazz, String fieldName, Object field)
For compatibility with pre 2.5 compiled classes
@SuppressWarnings("Unchecked") public static Object checkImmutable(Class<?> clazz, String fieldName, Object field, List<String> knownImmutableFieldNames, List<Class> knownImmutableClasses)
public static void checkPropNames(Object instance, Map<String, Object> args)
@Override public String getAnnotationName()
@Override 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/3.0.7/html/gapi/org/codehaus/groovy/transform/ImmutableASTTransformation.html