public abstract class AbstractASTTransformation extends 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, 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 and Description |
---|
AbstractASTTransformation() |
Modifier and Type | Method and Description |
---|---|
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)
Deprecated.
|
protected boolean |
checkIncludeExclude(AnnotationNode node,
List<String> excludes,
List<String> includes,
String typeName)
Deprecated.
|
protected void |
checkIncludeExcludeUndefinedAware(AnnotationNode node,
List<String> excludes,
List<String> includes,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes,
String typeName) |
protected boolean |
checkIncludeExcludeUndefinedAware(AnnotationNode node,
List<String> excludes,
List<String> includes,
String typeName) |
protected boolean |
checkNotInterface(ClassNode cNode,
String annotationName) |
boolean |
checkPropertyList(ClassNode cNode,
List<String> propertyNameList,
String listName,
AnnotationNode anno,
String typeName,
boolean includeFields) |
boolean |
checkPropertyList(ClassNode cNode,
List<String> propertyNameList,
String listName,
AnnotationNode anno,
String typeName,
boolean includeFields,
boolean includeSuperProperties,
boolean allProperties) |
boolean |
checkPropertyList(ClassNode cNode,
List<String> propertyNameList,
String listName,
AnnotationNode anno,
String typeName,
boolean includeFields,
boolean includeSuperProperties,
boolean allProperties,
boolean includeSuperFields,
boolean includeStatic) |
protected List<AnnotationNode> |
copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode,
String myTypeName)
Copies all candidateAnnotations with retention policy
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS . |
protected List<AnnotationNode> |
copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode,
String myTypeName,
boolean includeGenerated)
Copies all candidateAnnotations with retention policy
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS . |
static boolean |
deemedInternalName(String name) |
String |
getAnnotationName()
If the transform is associated with a single annotation, returns a name suitable for displaying in error messages.
|
List<ClassNode> |
getClassList(AnnotationNode anno,
String name)
Deprecated.
|
List<ClassNode> |
getMemberClassList(AnnotationNode anno,
String name) |
ClassNode |
getMemberClassValue(AnnotationNode node,
String name) |
ClassNode |
getMemberClassValue(AnnotationNode node,
String name,
ClassNode defaultValue) |
int |
getMemberIntValue(AnnotationNode node,
String name) |
static List<String> |
getMemberList(AnnotationNode anno,
String name)
Deprecated.
|
static List<String> |
getMemberStringList(AnnotationNode anno,
String name) |
static String |
getMemberStringValue(AnnotationNode node,
String name) |
static String |
getMemberStringValue(AnnotationNode node,
String name,
String defaultValue) |
Object |
getMemberValue(AnnotationNode node,
String name) |
boolean |
hasAnnotation(ClassNode node,
ClassNode annotation) |
protected void |
init(ASTNode[] nodes,
SourceUnit sourceUnit) |
boolean |
memberHasValue(AnnotationNode node,
String name,
Object value) |
static ClassNode |
nonGeneric(ClassNode type)
Deprecated.
use GenericsUtils#nonGeneric
|
static boolean |
shouldSkip(String name,
List<String> excludes,
List<String> includes) |
static boolean |
shouldSkip(String name,
List<String> excludes,
List<String> includes,
boolean allNames) |
static boolean |
shouldSkipOnDescriptor(boolean checkReturn,
Map genericsSpec,
MethodNode mNode,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes)
Deprecated.
|
static boolean |
shouldSkipOnDescriptorUndefinedAware(boolean checkReturn,
Map genericsSpec,
MethodNode mNode,
List<ClassNode> excludeTypes,
List<ClassNode> includeTypes) |
static boolean |
shouldSkipUndefinedAware(String name,
List<String> excludes,
List<String> includes) |
static boolean |
shouldSkipUndefinedAware(String name,
List<String> excludes,
List<String> includes,
boolean allNames) |
static List<String> |
tokenize(String rawExcludes) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visit
public static final ClassNode RETENTION_CLASSNODE
protected SourceUnit sourceUnit
protected List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName)
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS
.
Annotations with GeneratedClosure
members are not supported for now.
protected List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName, boolean includeGenerated)
RetentionPolicy.RUNTIME
and RetentionPolicy.CLASS
.
Annotations with GeneratedClosure
members are not supported for now.
public String getAnnotationName()
protected void init(ASTNode[] nodes, SourceUnit sourceUnit)
public boolean memberHasValue(AnnotationNode node, String name, Object value)
public Object getMemberValue(AnnotationNode node, String name)
public static String getMemberStringValue(AnnotationNode node, String name, String defaultValue)
public static String getMemberStringValue(AnnotationNode node, String name)
public int getMemberIntValue(AnnotationNode node, String name)
public ClassNode getMemberClassValue(AnnotationNode node, String name)
public ClassNode getMemberClassValue(AnnotationNode node, String name, ClassNode defaultValue)
public static List<String> getMemberStringList(AnnotationNode anno, String name)
@Deprecated public static List<String> getMemberList(AnnotationNode anno, String name)
@Deprecated public List<ClassNode> getClassList(AnnotationNode anno, String name)
public List<ClassNode> getMemberClassList(AnnotationNode anno, String name)
public void addError(String msg, ASTNode expr)
addError
in interface ErrorCollecting
public static boolean deemedInternalName(String name)
public static boolean shouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes)
public static boolean shouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes, boolean allNames)
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes)
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes, boolean allNames)
@Deprecated public static boolean shouldSkipOnDescriptor(boolean checkReturn, Map genericsSpec, MethodNode mNode, List<ClassNode> excludeTypes, List<ClassNode> includeTypes)
public static boolean shouldSkipOnDescriptorUndefinedAware(boolean checkReturn, Map genericsSpec, MethodNode mNode, List<ClassNode> excludeTypes, List<ClassNode> includeTypes)
@Deprecated protected boolean checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)
protected boolean checkIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)
@Deprecated protected void checkIncludeExclude(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)
protected void checkIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)
public boolean checkPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields)
public boolean checkPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties)
public boolean checkPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties, boolean includeSuperFields, boolean includeStatic)
@Deprecated public static ClassNode nonGeneric(ClassNode type)