public abstract class AbstractASTTransformation extends java.lang.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 |
---|---|
void |
addError(java.lang.String msg,
ASTNode expr) |
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 |
checkIncludeExclude(AnnotationNode node,
java.util.List<java.lang.String> excludes,
java.util.List<java.lang.String> includes,
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 policy
RetentionPolicy.RUNTIME
and RetentionPolicy.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#nonGeneric
|
static 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) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visit
public static final ClassNode RETENTION_CLASSNODE
protected SourceUnit sourceUnit
protected java.util.List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, java.lang.String myTypeName)
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS
.
Annotations with GeneratedClosure
members are not supported for now.
protected void init(ASTNode[] nodes, SourceUnit sourceUnit)
public boolean memberHasValue(AnnotationNode node, java.lang.String name, java.lang.Object value)
public java.lang.Object getMemberValue(AnnotationNode node, java.lang.String name)
public static java.lang.String getMemberStringValue(AnnotationNode node, java.lang.String name, java.lang.String defaultValue)
public static java.lang.String getMemberStringValue(AnnotationNode node, java.lang.String name)
public int getMemberIntValue(AnnotationNode node, java.lang.String name)
public ClassNode getMemberClassValue(AnnotationNode node, java.lang.String name)
public ClassNode getMemberClassValue(AnnotationNode node, java.lang.String name, ClassNode defaultValue)
public static java.util.List<java.lang.String> getMemberList(AnnotationNode anno, java.lang.String name)
public java.util.List<ClassNode> getClassList(AnnotationNode anno, java.lang.String name)
public void addError(java.lang.String msg, ASTNode expr)
protected boolean checkNotInterface(ClassNode cNode, java.lang.String annotationName)
public static java.util.List<java.lang.String> tokenize(java.lang.String rawExcludes)
public static boolean deemedInternalName(java.lang.String name)
public static boolean shouldSkip(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)
public static boolean shouldSkipOnDescriptor(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
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)