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 java.lang.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, 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, V9
-
-
Constructor Summary
Constructors Constructor Description AbstractASTTransformation()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 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)
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)
protected boolean
checkNotInterface(ClassNode cNode, java.lang.String annotationName)
protected java.util.List<AnnotationNode>
copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, java.lang.String myTypeName)
Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIME
andRetentionPolicy.CLASS
.static boolean
deemedInternalName(java.lang.String name)
java.util.List<ClassNode>
getClassList(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)
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 cNode, 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#nonGenericstatic boolean
shouldSkip(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)
static boolean
shouldSkipOnDescriptor(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
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 Detail
-
RETENTION_CLASSNODE
public static final ClassNode RETENTION_CLASSNODE
-
sourceUnit
protected SourceUnit sourceUnit
-
-
Method Detail
-
copyAnnotatedNodeAnnotations
protected java.util.List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, java.lang.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, 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)
-
getMemberList
public static java.util.List<java.lang.String> getMemberList(AnnotationNode anno, java.lang.String name)
-
getClassList
public java.util.List<ClassNode> getClassList(AnnotationNode anno, java.lang.String name)
-
addError
public void addError(java.lang.String msg, ASTNode expr)
-
checkNotInterface
protected boolean checkNotInterface(ClassNode cNode, java.lang.String annotationName)
-
tokenize
public static java.util.List<java.lang.String> tokenize(java.lang.String rawExcludes)
-
deemedInternalName
public static boolean deemedInternalName(java.lang.String name)
-
shouldSkip
public static boolean shouldSkip(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)
-
shouldSkipOnDescriptor
public static boolean shouldSkipOnDescriptor(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
-
checkIncludeExclude
protected boolean checkIncludeExclude(AnnotationNode node, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, java.lang.String typeName)
-
checkIncludeExclude
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)
-
-