Lines Matching refs:mv

61             MethodVisitor mv;
63 mv = cw.visitMethod(ACC_PUBLIC | ACC_STATIC, "m", "()V", null, null);
64 mv.visitCode();
73 createThrowRuntimeExceptionCode(mv, "The redefined method was called");
75 createMethodBody(mv);
77 mv.visitMaxs(3, 0);
78 mv.visitEnd();
84 private static void createMethodBody(MethodVisitor mv) {
88 createLoadNonExistentClassCode(mv, classExists);
91 mv.visitMethodInsn(INVOKESTATIC, "RedefineRunningMethodsWithResolutionErrors", "redefine", "()V");
94 createLoadNonExistentClassCode(mv, classExists);
97 mv.visitInsn(RETURN);
99 mv.visitFrame(F_SAME, 0, new Object[0], 0, new Object[0]);
100 mv.visitLabel(classExists);
102 createThrowRuntimeExceptionCode(mv, "Loaded class that shouldn't exist (\"NonExistentClass\")");
105 private static void createLoadNonExistentClassCode(MethodVisitor mv, Label classExists) {
109 mv.visitTryCatchBlock(tryLoadBegin, tryLoadEnd, catchLoadBlock, "java/lang/NoClassDefFoundError");
112 mv.visitLabel(tryLoadBegin);
113 mv.visitMethodInsn(INVOKESTATIC, "NonExistentClass", "nonExistentMethod", "()V");
114 mv.visitLabel(tryLoadEnd);
117 mv.visitJumpInsn(GOTO, classExists);
119 mv.visitFrame(F_SAME1, 0, new Object[0], 1, new Object[] { "java/lang/NoClassDefFoundError" });
120 mv.visitLabel(catchLoadBlock);
123 mv.visitInsn(POP);
126 private static void createThrowRuntimeExceptionCode(MethodVisitor mv, String msg) {
127 mv.visitTypeInsn(NEW, "java/lang/RuntimeException");
128 mv.visitInsn(DUP);
129 mv.visitLdcInsn(msg);
130 mv.visitMethodInsn(INVOKESPECIAL, "java/lang/RuntimeException", "<init>", "(Ljava/lang/String;)V");
131 mv.visitInsn(ATHROW);