On this page
[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 String |
IMMUTABLE_BREADCRUMB |
|
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 String IMMUTABLE_BREADCRUMB
public static final ClassNode MY_TYPE
Method Detail
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)
@Override public String getAnnotationName()
@Override public void setCompilationUnit(CompilationUnit unit)
@Override public void visit(ASTNode[] nodes, SourceUnit source)
© 2003-2022 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/4.0.0/html/gapi/org/codehaus/groovy/transform/ImmutableASTTransformation.html