Package org.codehaus.groovy.transform
Class AbstractASTTransformation
- java.lang.Object
-
- org.codehaus.groovy.transform.AbstractASTTransformation
-
- All Implemented Interfaces:
ASTTransformation
,org.objectweb.asm.Opcodes
- Direct Known Subclasses:
AutoCloneASTTransformation
,BaseScriptASTTransformation
,BuilderASTTransformation
,CanonicalASTTransformation
,DelegateASTTransformation
,EqualsAndHashCodeASTTransformation
,ExternalizeMethodsASTTransformation
,ExternalizeVerifierASTTransformation
,ImmutableASTTransformation
,IndexedPropertyASTTransformation
,InheritConstructorsASTTransformation
,LazyASTTransformation
,LogASTTransformation
,MemoizedASTTransformation
,MixinASTTransformation
,NotYetImplementedASTTransformation
,PackageScopeASTTransformation
,ReadWriteLockASTTransformation
,SingletonASTTransformation
,SortableASTTransformation
,SourceURIASTTransformation
,SynchronizedASTTransformation
,ToStringASTTransformation
,TraitASTTransformation
,TupleConstructorASTTransformation
public abstract class AbstractASTTransformation extends Object implements org.objectweb.asm.Opcodes, ASTTransformation
-
-
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_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, ASM4, ASM5, ASM6, ASM7, ASM8_EXPERIMENTAL, 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, V9
-
-
Constructor Summary
Constructors Constructor Description AbstractASTTransformation()
-
Method Summary
-
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 Detail
-
RETENTION_CLASSNODE
public static final ClassNode RETENTION_CLASSNODE
-
sourceUnit
protected SourceUnit sourceUnit
-
-
Method Detail
-
copyAnnotatedNodeAnnotations
protected List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName)
Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIME
andRetentionPolicy.CLASS
.Annotations with
GeneratedClosure
members are not supported for now.
-
init
protected void init(ASTNode[] nodes, SourceUnit sourceUnit)
-
memberHasValue
public boolean memberHasValue(AnnotationNode node, String name, Object value)
-
getMemberValue
public Object getMemberValue(AnnotationNode node, String name)
-
getMemberStringValue
public static String getMemberStringValue(AnnotationNode node, String name, String defaultValue)
-
getMemberStringValue
public static String getMemberStringValue(AnnotationNode node, String name)
-
getMemberIntValue
public int getMemberIntValue(AnnotationNode node, String name)
-
getMemberClassValue
public ClassNode getMemberClassValue(AnnotationNode node, String name)
-
getMemberClassValue
public ClassNode getMemberClassValue(AnnotationNode node, String name, ClassNode defaultValue)
-
getMemberList
public static List<String> getMemberList(AnnotationNode anno, String name)
-
getClassList
public List<ClassNode> getClassList(AnnotationNode anno, String name)
-
deemedInternalName
public static boolean deemedInternalName(String name)
-
shouldSkip
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes)
-
shouldSkipOnDescriptor
public static boolean shouldSkipOnDescriptor(boolean checkReturn, Map genericsSpec, MethodNode mNode, List<ClassNode> excludeTypes, List<ClassNode> includeTypes)
-
checkIncludeExclude
protected boolean checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)
-
checkIncludeExclude
protected void checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)
-
nonGeneric
@Deprecated public static ClassNode nonGeneric(ClassNode type)
Deprecated.use GenericsUtils#nonGeneric
-
-