6566676869707172737475
protected void checkMethod(TraceMethodVisitor tmv) { TraceMethodVisitor mv = new TraceMethodVisitor(null); mv.visitCode(); mv.visitVarInsn(ILOAD, 1); mv.visitInsn(IRETURN); mv.visitMaxs(0, 0); mv.visitEnd(); assertEquals(mv, tmv); } @Override
6465666768697071727374
6970717273747576777879
TraceMethodVisitor mv = new TraceMethodVisitor(null); mv.visitCode(); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "C", "f", "I"); mv.visitInsn(IRETURN); mv.visitMaxs(0, 0); mv.visitEnd(); assertEquals(mv, tmv); } @Override
mv.visitCode(); mv.visitVarInsn(ILOAD, 1); mv.visitInsn(ICONST_0); mv.visitInsn(IADD); mv.visitInsn(IRETURN); mv.visitMaxs(0, 0); mv.visitEnd(); assertEquals(mv, tmv); } @Override
101102103104105106107108109110111
mv.visitInsn(DUP); mv.visitMethodInsn(INVOKESPECIAL, "java/lang/IllegalArgumentException", "<init>", "()V"); mv.visitInsn(ATHROW); mv.visitLabel(new Label()); mv.visitMaxs(2, 2); mv.visitEnd(); assertEquals(mv, tmv); } @Override
107108109110111112113114115116117
"java/lang/IllegalArgumentException", "<init>", "()V"); mv.visitInsn(ATHROW); mv.visitLabel(end); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitInsn(RETURN); mv.visitMaxs(0, 0); mv.visitEnd(); assertEquals(mv, tmv); } @Override
7374757677787980818283
mv.visitCode(); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Number", "intValue", "()I"); mv.visitInsn(IRETURN); mv.visitMaxs(1, 2); mv.visitEnd(); assertEquals(mv, tmv); } @Override
142143144145146147148149150151152
((AbstractInsnNode) insn).accept(mv); } else { mv.visitLabel((Label) insn); } } mv.visitMaxs(method.maxStack, method.maxLocals); } } return !failed; }
919293949596979899100101
}; for (int j = 0; j < method.instructions.size(); ++j) { Object insn = method.instructions.get(j); ((AbstractInsnNode) insn).accept(mv); } mv.visitMaxs(0, 0); } } } }
141142143144145146147148149150151