Package org.codehaus.groovy.transform

# Class AbstractASTTransformation

java.lang.Object
org.codehaus.groovy.transform.AbstractASTTransformation

All Implemented Interfaces:
  `ASTTransformation`, `ErrorCollecting`, `org.objectweb.asm.Opcodes`

Direct Known Subclasses:
  `AutoCloneASTTransformation`, `AutoFinalASTTransformation`, `AutoImplementASTTransformation`, `BaseScriptASTTransformation`, `BuilderASTTransformation`, `DelegateASTTransformation`, `EqualsAndHashCodeASTTransformation`, `ExternalizeMethodsASTTransformation`, `ExternalizeVerifierASTTransformation`, `ImmutableASTTransformation`, `IndexedPropertyASTTransformation`, `InheritConstructorsASTTransformation`, `LazyASTTransformation`, `LogASTTransformation`, `MapConstructorASTTransformation`, `MemoizedASTTransformation`, `MixinASTTransformation`, `NamedVariantASTTransformation`, `NotYetImplementedASTTransformation`, `NotYetImplementedLegacyASTTransformation`, `NullCheckASTTransformation`, `PackageScopeASTTransformation`, `ReadWriteLockASTTransformation`, `SingletonASTTransformation`, `SortableASTTransformation`, `SourceURIASTTransformation`, `SynchronizedASTTransformation`, `ToStringASTTransformation`, `TraitASTTransformation`, `TupleConstructorASTTransformation`

    public abstract class AbstractASTTransformation
    extends java.lang.Object
    implements org.objectweb.asm.Opcodes, ASTTransformation, ErrorCollecting

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static ClassNode` | `RETENTION_CLASSNODE` |
  `protected SourceUnit` | `sourceUnit` |

  ### Fields inherited from interface org.objectweb.asm.Opcodes

  `AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V9`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `AbstractASTTransformation()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addError​(java.lang.String msg, ASTNode expr)` |
  `protected boolean` | `checkIncludeExclude​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.lang.String typeName)` | Deprecated.
  `protected void` | `checkIncludeExclude​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes, java.lang.String typeName)` | Deprecated.
  `protected boolean` | `checkIncludeExcludeUndefinedAware​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.lang.String typeName)` |
  `protected void` | `checkIncludeExcludeUndefinedAware​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes, java.lang.String typeName)` |
  `protected boolean` | `checkNotInterface​(ClassNode cNode, java.lang.String annotationName)` |
  `boolean` | `checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields)` |
  `boolean` | `checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties)` |
  `boolean` | `checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties, boolean includeSuperFields, boolean includeStatic)` |
  `protected java.util.List<AnnotationNode>` | `copyAnnotatedNodeAnnotations​(AnnotatedNode annotatedNode, java.lang.String myTypeName)` | Copies all `candidateAnnotations` with retention policy `RetentionPolicy.RUNTIME` and `RetentionPolicy.CLASS`.
  `protected java.util.List<AnnotationNode>` | `copyAnnotatedNodeAnnotations​(AnnotatedNode annotatedNode, java.lang.String myTypeName, boolean includeGenerated)` | Copies all `candidateAnnotations` with retention policy `RetentionPolicy.RUNTIME` and `RetentionPolicy.CLASS`.
  `static boolean` | `deemedInternalName​(java.lang.String name)` |
  `java.lang.String` | `getAnnotationName()` | If the transform is associated with a single annotation, returns a name suitable for displaying in error messages.
  `java.util.List<ClassNode>` | `getClassList​(AnnotationNode anno, java.lang.String name)` | Deprecated.
  `java.util.List<ClassNode>` | `getMemberClassList​(AnnotationNode anno, java.lang.String name)` |
  `ClassNode` | `getMemberClassValue​(AnnotationNode node, java.lang.String name)` |
  `ClassNode` | `getMemberClassValue​(AnnotationNode node, java.lang.String name, ClassNode defaultValue)` |
  `int` | `getMemberIntValue​(AnnotationNode node, java.lang.String name)` |
  `static java.util.List<java.lang.String>` | `getMemberList​(AnnotationNode anno, java.lang.String name)` | Deprecated.
  `static java.util.List<java.lang.String>` | `getMemberStringList​(AnnotationNode anno, java.lang.String name)` |
  `static java.lang.String` | `getMemberStringValue​(AnnotationNode node, java.lang.String name)` |
  `static java.lang.String` | `getMemberStringValue​(AnnotationNode node, java.lang.String name, java.lang.String defaultValue)` |
  `java.lang.Object` | `getMemberValue​(AnnotationNode node, java.lang.String name)` |
  `boolean` | `hasAnnotation​(ClassNode node, ClassNode annotation)` |
  `protected void` | `init​(ASTNode[] nodes, SourceUnit sourceUnit)` |
  `boolean` | `memberHasValue​(AnnotationNode node, java.lang.String name, java.lang.Object value)` |
  `static ClassNode` | `nonGeneric​(ClassNode type)` | Deprecated. use GenericsUtils#nonGeneric
  `static boolean` | `shouldSkip​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)` |
  `static boolean` | `shouldSkip​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)` |
  `static boolean` | `shouldSkipOnDescriptor​(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)` | Deprecated.
  `static boolean` | `shouldSkipOnDescriptorUndefinedAware​(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)` |
  `static boolean` | `shouldSkipUndefinedAware​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)` |
  `static boolean` | `shouldSkipUndefinedAware​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)` |
  `static java.util.List<java.lang.String>` | `tokenize​(java.lang.String rawExcludes)` |

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.transform.ASTTransformation

  `visit`

- ## Field Details

  - ### RETENTION_CLASSNODE

    public static final ClassNode RETENTION_CLASSNODE

  - ### sourceUnit

    protected SourceUnit sourceUnit

- ## Constructor Details

  - ### AbstractASTTransformation

    public AbstractASTTransformation()

- ## Method Details

  - ### copyAnnotatedNodeAnnotations

    protected java.util.List<AnnotationNode> copyAnnotatedNodeAnnotations​(AnnotatedNode annotatedNode, java.lang.String myTypeName)
    Copies all `candidateAnnotations` with retention policy `RetentionPolicy.RUNTIME` and `RetentionPolicy.CLASS`.

    Annotations with `GeneratedClosure` members are not supported for now.

  - ### copyAnnotatedNodeAnnotations

    protected java.util.List<AnnotationNode> copyAnnotatedNodeAnnotations​(AnnotatedNode annotatedNode, java.lang.String myTypeName, boolean includeGenerated)
    Copies all `candidateAnnotations` with retention policy `RetentionPolicy.RUNTIME` and `RetentionPolicy.CLASS`.

    Annotations with `GeneratedClosure` members are not supported for now.

  - ### getAnnotationName

    public java.lang.String getAnnotationName()
    If the transform is associated with a single annotation, returns a name suitable for displaying in error messages.
    Returns:
      The simple name of the annotation including the "@" or null if no such name is defined

  - ### init

    protected void init​(ASTNode[] nodes, SourceUnit sourceUnit)

  - ### memberHasValue

    public boolean memberHasValue​(AnnotationNode node, java.lang.String name, java.lang.Object value)

  - ### getMemberValue

    public java.lang.Object getMemberValue​(AnnotationNode node, java.lang.String name)

  - ### getMemberStringValue

    public static java.lang.String getMemberStringValue​(AnnotationNode node, java.lang.String name, java.lang.String defaultValue)

  - ### getMemberStringValue

    public static java.lang.String getMemberStringValue​(AnnotationNode node, java.lang.String name)

  - ### getMemberIntValue

    public int getMemberIntValue​(AnnotationNode node, java.lang.String name)

  - ### getMemberClassValue

    public ClassNode getMemberClassValue​(AnnotationNode node, java.lang.String name)

  - ### getMemberClassValue

    public ClassNode getMemberClassValue​(AnnotationNode node, java.lang.String name, ClassNode defaultValue)

  - ### getMemberStringList

    public static java.util.List<java.lang.String> getMemberStringList​(AnnotationNode anno, java.lang.String name)

  - ### getMemberList

    @Deprecated public static java.util.List<java.lang.String> getMemberList​(AnnotationNode anno, java.lang.String name)
    Deprecated.

  - ### getClassList

    @Deprecated public java.util.List<ClassNode> getClassList​(AnnotationNode anno, java.lang.String name)
    Deprecated.

  - ### getMemberClassList

    public java.util.List<ClassNode> getMemberClassList​(AnnotationNode anno, java.lang.String name)

  - ### addError

    public void addError​(java.lang.String msg, ASTNode expr)
    Specified by:
      `addError` in interface `ErrorCollecting`

  - ### checkNotInterface

    protected boolean checkNotInterface​(ClassNode cNode, java.lang.String annotationName)

  - ### hasAnnotation

    public boolean hasAnnotation​(ClassNode node, ClassNode annotation)

  - ### tokenize

    public static java.util.List<java.lang.String> tokenize​(java.lang.String rawExcludes)

  - ### deemedInternalName

    public static boolean deemedInternalName​(java.lang.String name)

  - ### shouldSkipUndefinedAware

    public static boolean shouldSkipUndefinedAware​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)

  - ### shouldSkipUndefinedAware

    public static boolean shouldSkipUndefinedAware​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)

  - ### shouldSkip

    public static boolean shouldSkip​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)

  - ### shouldSkip

    public static boolean shouldSkip​(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)

  - ### shouldSkipOnDescriptor

    @Deprecated public static boolean shouldSkipOnDescriptor​(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
    Deprecated.

  - ### shouldSkipOnDescriptorUndefinedAware

    public static boolean shouldSkipOnDescriptorUndefinedAware​(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)

  - ### checkIncludeExclude

    @Deprecated protected boolean checkIncludeExclude​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.lang.String typeName)
    Deprecated.

  - ### checkIncludeExcludeUndefinedAware

    protected boolean checkIncludeExcludeUndefinedAware​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.lang.String typeName)

  - ### checkIncludeExclude

    @Deprecated protected void checkIncludeExclude​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes, java.lang.String typeName)
    Deprecated.

  - ### checkIncludeExcludeUndefinedAware

    protected void checkIncludeExcludeUndefinedAware​(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes, java.lang.String typeName)

  - ### checkPropertyList

    public boolean checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields)

  - ### checkPropertyList

    public boolean checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties)

  - ### checkPropertyList

    public boolean checkPropertyList​(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties, boolean includeSuperFields, boolean includeStatic)

  - ### nonGeneric

    @Deprecated public static ClassNode nonGeneric​(ClassNode type)
    Deprecated.
    use GenericsUtils#nonGeneric