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();
}
Aggregations