public abstract class AbstractASTTransformation extends Object implements org.objectweb.asm.Opcodes, ASTTransformation
| Modifier and Type | Field and Description |
|---|---|
static ClassNode |
RETENTION_CLASSNODE |
protected SourceUnit |
sourceUnit |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, 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, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8| Constructor and Description |
|---|
AbstractASTTransformation() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addError(String msg,
ASTNode expr) |
protected void |
checkIncludeExclude(AnnotationNode node,
List<String> excludes,
List<String> includes,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes,
String typeName) |
protected void |
checkIncludeExclude(AnnotationNode node,
List<String> excludes,
List<String> includes,
String typeName) |
protected void |
checkNotInterface(ClassNode cNode,
String annotationName) |
static void |
copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode,
List<AnnotationNode> copied,
List<AnnotationNode> notCopied)
Copies all candidateAnnotations with retention policy
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS. |
static MethodNode |
correctToGenericsSpec(Map genericsSpec,
MethodNode mn) |
static ClassNode |
correctToGenericsSpecRecurse(Map genericsSpec,
ClassNode type) |
static boolean |
deemedInternalName(String name) |
protected List<ClassNode> |
getClassList(AnnotationNode anno,
String name) |
protected int |
getMemberIntValue(AnnotationNode node,
String name) |
protected List<String> |
getMemberList(AnnotationNode anno,
String name) |
protected String |
getMemberStringValue(AnnotationNode node,
String name) |
protected String |
getMemberStringValue(AnnotationNode node,
String name,
String defaultValue) |
protected Object |
getMemberValue(AnnotationNode node,
String name) |
protected boolean |
hasAnnotation(ClassNode cNode,
ClassNode annotation) |
protected void |
init(ASTNode[] nodes,
SourceUnit sourceUnit) |
static ClassNode |
makeClassSafe0(ClassNode type,
GenericsType... genericTypes) |
static ClassNode |
makeClassSafeWithGenerics(ClassNode type,
GenericsType... genericTypes) |
protected boolean |
memberHasValue(AnnotationNode node,
String name,
Object value) |
static ClassNode |
newClass(ClassNode type) |
static ClassNode |
nonGeneric(ClassNode type)
Deprecated.
use GenericsUtils#nonGeneric
|
static boolean |
shouldSkip(String name,
List<String> excludes,
List<String> includes) |
static boolean |
shouldSkipOnDescriptor(boolean checkReturn,
Map genericsSpec,
MethodNode mNode,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes) |
protected List<String> |
tokenize(String rawExcludes) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitpublic static final ClassNode RETENTION_CLASSNODE
protected SourceUnit sourceUnit
protected void init(ASTNode[] nodes, SourceUnit sourceUnit)
protected boolean memberHasValue(AnnotationNode node, String name, Object value)
protected Object getMemberValue(AnnotationNode node, String name)
protected String getMemberStringValue(AnnotationNode node, String name, String defaultValue)
protected String getMemberStringValue(AnnotationNode node, String name)
protected int getMemberIntValue(AnnotationNode node, String name)
protected List<String> getMemberList(AnnotationNode anno, String name)
protected List<ClassNode> getClassList(AnnotationNode anno, String name)
public static boolean deemedInternalName(String name)
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes)
public static boolean shouldSkipOnDescriptor(boolean checkReturn,
Map genericsSpec,
MethodNode mNode,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes)
protected void checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)
protected void checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)
@Deprecated public static ClassNode nonGeneric(ClassNode type)
public static ClassNode makeClassSafe0(ClassNode type, GenericsType... genericTypes)
public static ClassNode makeClassSafeWithGenerics(ClassNode type, GenericsType... genericTypes)
public static MethodNode correctToGenericsSpec(Map genericsSpec, MethodNode mn)
public static ClassNode correctToGenericsSpecRecurse(Map genericsSpec, ClassNode type)
public static void copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, List<AnnotationNode> copied, List<AnnotationNode> notCopied)
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS.
Annotations with GeneratedClosure members are not supported by now.