@Override public void visitEnd() { if (cycleDetector.hasCycle()) { reportError("execution.loop.danger"); } super.visitEnd(); }
public void visitEnd() { fromClass.accept(new ClassVisitor(Opcodes.ASM4) { public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodInfo mi = getMethodInfo(name, desc); if (mi != null) { return addMethod(mi.newAccess, mi.newName, desc, signature, exceptions); } else { return null; } } }, 0); super.visitEnd(); }
@Override public void visitEnd() { if (!clinitFound) { MethodVisitor mv = visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_STATIC, CLINIT, "()V", null, null); // NOI18N // this will call this method's visitMethod method, effectively generating the clinit content mv.visitCode(); // need to call visitMaxs explicitely mv.visitMaxs(0, 0); // properly close the method body mv.visitEnd(); } super.visitEnd(); }
public void visitEnd() { int size = applicableOnMethods.size(); List<MethodCopier.MethodInfo> mi = new ArrayList<MethodCopier.MethodInfo>(size); for (OnMethod om : calledOnMethods) { mi.add(new MethodCopier.MethodInfo(om.getTargetName(), om.getTargetDescriptor(), getActionMethodName(om.getTargetName()), ACC_STATIC | ACC_PRIVATE)); } introduceTimeStampHelper(); MethodCopier copier = new MethodCopier(btraceClass, cv, mi, (version & 0x0000ffff) >= Opcodes.V1_6) { @Override protected MethodVisitor addMethod(int access, String name, String desc, String signature, String[] exceptions) { desc = desc.replace(ANYTYPE_DESC, OBJECT_DESC); if (signature != null) { signature = signature.replace(ANYTYPE_DESC, OBJECT_DESC); } return super.addMethod(access, name, desc, signature, exceptions); } }; copier.visitEnd(); super.visitEnd(); }
public void visitEnd() { if (! classInitializerFound) { // add a dummy <clinit> method that just returns. MethodVisitor clinit = visitMethod(ACC_STATIC|ACC_PUBLIC, CLASS_INITIALIZER, "()V", null, null); clinit.visitCode(); clinit.visitInsn(RETURN); clinit.visitMaxs(0, 0); clinit.visitEnd(); } addFields(); super.visitEnd(); }