Search in sources :

Example 16 with AnnotationNode

use of org.objectweb.asm.tree.AnnotationNode in project spring-loaded by spring-projects.

the class SpringLoadedTests method toStringField.

@SuppressWarnings("unchecked")
protected String toStringField(byte[] classdata, String fieldname) {
    StringBuilder sb = new StringBuilder();
    FieldNode fieldNode = getField(classdata, fieldname);
    if (fieldNode == null) {
        return null;
    }
    List<AnnotationNode> annos = fieldNode.visibleAnnotations;
    if (annos != null) {
        sb.append("vis(").append(toStringAnnotations(annos)).append(") ");
    }
    annos = fieldNode.invisibleAnnotations;
    if (annos != null) {
        sb.append("invis(").append(toStringAnnotations(annos)).append(") ");
    }
    // will need implementing at some point:
    //		List<Attribute> attrs = fieldNode.attrs;
    //		if (attrs = !null) {
    //			sb.append("attrs(").append(toStringAttributes(attrs)).append(") ");
    //		}
    sb.append("0x").append(Integer.toHexString(fieldNode.access)).append("(").append(ClassPrinter.toAccessForMember(fieldNode.access)).append(") ");
    sb.append(fieldNode.name).append(" ");
    sb.append(fieldNode.desc).append(" ");
    if (fieldNode.signature != null) {
        sb.append(fieldNode.signature).append(" ");
    }
    if (fieldNode.value != null) {
        sb.append(fieldNode.value).append(" ");
    }
    return sb.toString().trim();
}
Also used : FieldNode(org.objectweb.asm.tree.FieldNode) AnnotationNode(org.objectweb.asm.tree.AnnotationNode)

Aggregations

AnnotationNode (org.objectweb.asm.tree.AnnotationNode)16 ClassNode (org.objectweb.asm.tree.ClassNode)6 List (java.util.List)4 ClassReader (org.objectweb.asm.ClassReader)4 MethodNode (org.objectweb.asm.tree.MethodNode)4 FieldNode (org.objectweb.asm.tree.FieldNode)3 File (java.io.File)2 Type (org.objectweb.asm.Type)2 MethodInsnNode (org.objectweb.asm.tree.MethodInsnNode)2 ModContainer (cpw.mods.fml.common.ModContainer)1 ArtifactVersion (cpw.mods.fml.common.versioning.ArtifactVersion)1 DefaultArtifactVersion (cpw.mods.fml.common.versioning.DefaultArtifactVersion)1 VersionRange (cpw.mods.fml.common.versioning.VersionRange)1 FileInputStream (java.io.FileInputStream)1 FileOutputStream (java.io.FileOutputStream)1 FileWriter (java.io.FileWriter)1 IOException (java.io.IOException)1 Array (java.lang.reflect.Array)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1