public abstract class AbstractASTTransformation extends java.lang.Object implements org.objectweb.asm.Opcodes, ASTTransformation, ErrorCollecting
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_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, 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, V10, V9
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)
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.
|
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 |
checkIncludeExcludeUndefinedAware(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) |
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 . |
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) |
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.
public java.lang.String getAnnotationName()
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> getMemberStringList(AnnotationNode anno, java.lang.String name)
@Deprecated public static java.util.List<java.lang.String> getMemberList(AnnotationNode anno, java.lang.String name)
@Deprecated public java.util.List<ClassNode> getClassList(AnnotationNode anno, java.lang.String name)
public java.util.List<ClassNode> getMemberClassList(AnnotationNode anno, java.lang.String name)
public void addError(java.lang.String msg, ASTNode expr)
addError
in interface ErrorCollecting
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 shouldSkipUndefinedAware(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes)
public static boolean shouldSkipUndefinedAware(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)
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 shouldSkip(java.lang.String name, java.util.List<java.lang.String> excludes, java.util.List<java.lang.String> includes, boolean allNames)
@Deprecated public static boolean shouldSkipOnDescriptor(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
public static boolean shouldSkipOnDescriptorUndefinedAware(boolean checkReturn, java.util.Map genericsSpec, MethodNode mNode, java.util.List<ClassNode> excludeTypes, java.util.List<ClassNode> includeTypes)
@Deprecated 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 checkIncludeExcludeUndefinedAware(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)
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)
public boolean checkPropertyList(ClassNode cNode, java.util.List<java.lang.String> propertyNameList, java.lang.String listName, AnnotationNode anno, java.lang.String typeName, boolean includeFields)
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)
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)