简书链接:asmtraceClassVisitor用法
文章字数:11,阅读全文大约需要1分钟
1 2 3 4 5 6 7 8
| TraceClassVisitor cv = new TraceClassVisitor(cw, new PrintWriter(System.err)); cv.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT + Opcodes.ACC_INTERFACE, "qssq/asm/examples/Comparable", null, "java/lang/Object", new String[] { "test/asm/examples/Mesurable" }); cv.visitField(Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + Opcodes.ACC_STATIC, "LESS", "I", null, new Integer(-1)).visitEnd(); cv.visitField(Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + Opcodes.ACC_STATIC, "EQUAL", "I", null, new Integer(0)).visitEnd(); cv.visitField(Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + Opcodes.ACC_STATIC, "GREATER", "I", null, new Integer(1)).visitEnd(); cv.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "compareTo", "(Ljava/lang/Object;)I", null, null).visitEnd();
|
https://asm.ow2.io/faq.html#Q0