package immibis.bon; import immibis.bon.org.objectweb.asm.tree.ClassNode; public class ClassReferenceData { static class MethodData { String name; String desc; } static class FieldData { String name; String desc; } String name; int access; String superName; MethodData[] methods; FieldData[] fields; String[] interfaces; public static ClassReferenceData fromClassNode(ClassNode cn) { ClassReferenceData cr = new ClassReferenceData(); cr.access = cn.access; cr.name = cn.name; cr.superName = cn.superName; cr.interfaces = cn.interfaces.toArray(new String[cn.interfaces.size()]); cr.methods = new MethodData[cn.methods.size()]; for(int k = 0; k < cr.methods.length; k++) { cr.methods[k] = new MethodData(); cr.methods[k].name = cn.methods.get(k).name; cr.methods[k].desc = cn.methods.get(k).desc; } cr.fields = new FieldData[cn.fields.size()]; for(int k = 0; k < cr.fields.length; k++) { cr.fields[k] = new FieldData(); cr.fields[k].name = cn.fields.get(k).name; cr.fields[k].desc = cn.fields.get(k).desc; } return cr; } }