Package net.sf.joafip.asm

Examples of net.sf.joafip.asm.MethodVisitor


  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    FieldVisitor fv;
    MethodVisitor mv;
    @SuppressWarnings("unused")
    AnnotationVisitor av0;

    cw.visit(
        V1_5,
        ACC_PUBLIC + ACC_SUPER,
        "java/lang/Object",
        null,
        null,
        new String[] { "net/sf/joafip/store/service/proxy/IProxyCallBack" });

    {
      fv = cw.visitField(
          ACC_PRIVATE + ACC_TRANSIENT,
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;",
          null, null);
      fv.visitEnd();
    }
    {
      fv = cw.visitField(ACC_PRIVATE + ACC_TRANSIENT,
          "setProxyCallBackTrace", "Ljava/lang/Exception;", null,
          null);
      fv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitInsn(RETURN);
      mv.visitMaxs(0, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PRIVATE + ACC_STATIC + ACC_NATIVE,
          "registerNatives", "()V", null, null);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL + ACC_NATIVE,
          "getClass", "()Ljava/lang/Class;",
          "()Ljava/lang/Class<*>;", null);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_NATIVE, "hashCode", "()I",
          null, null);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "equals", "(Ljava/lang/Object;)Z",
          null, null);
      mv.visitCode();
      mv.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {});
      mv.visitVarInsn(ALOAD, 0);
      mv.visitVarInsn(ALOAD, 1);
      Label l0 = new Label();
      mv.visitJumpInsn(IF_ACMPNE, l0);
      mv.visitInsn(ICONST_1);
      Label l1 = new Label();
      mv.visitJumpInsn(GOTO, l1);
      mv.visitLabel(l0);
      mv.visitFrame(Opcodes.F_NEW, 2, new Object[] { "java/lang/Object",
          "java/lang/Object" }, 0, new Object[] {});
      mv.visitInsn(ICONST_0);
      mv.visitLabel(l1);
      mv.visitFrame(Opcodes.F_NEW, 2, new Object[] { "java/lang/Object",
          "java/lang/Object" }, 1, new Object[] { Opcodes.INTEGER });
      mv.visitInsn(IRETURN);
      mv.visitMaxs(2, 2);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PROTECTED + ACC_NATIVE, "clone",
          "()Ljava/lang/Object;", null,
          new String[] { "java/lang/CloneNotSupportedException" });
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "toString", "()Ljava/lang/String;",
          null, null);
      mv.visitCode();
      mv.visitTypeInsn(NEW, "java/lang/StringBuilder");
      mv.visitInsn(DUP);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder",
          "<init>", "()V");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass",
          "()Ljava/lang/Class;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getName",
          "()Ljava/lang/String;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
      mv.visitLdcInsn("@");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "hashCode",
          "()I");
      mv.visitMethodInsn(INVOKESTATIC, "java/lang/Integer",
          "toHexString", "(I)Ljava/lang/String;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "toString", "()Ljava/lang/String;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(2, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL + ACC_NATIVE, "notify",
          "()V", null, null);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL + ACC_NATIVE,
          "notifyAll", "()V", null, null);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL + ACC_NATIVE, "wait",
          "(J)V", null,
          new String[] { "java/lang/InterruptedException" });
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL, "wait", "(JI)V", null,
          new String[] { "java/lang/InterruptedException" });
      mv.visitCode();
      mv.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {});
      mv.visitVarInsn(LLOAD, 1);
      mv.visitInsn(LCONST_0);
      mv.visitInsn(LCMP);
      Label l0 = new Label();
      mv.visitJumpInsn(IFGE, l0);
      mv.visitTypeInsn(NEW, "java/lang/IllegalArgumentException");
      mv.visitInsn(DUP);
      mv.visitLdcInsn("timeout value is negative");
      mv.visitMethodInsn(INVOKESPECIAL,
          "java/lang/IllegalArgumentException", "<init>",
          "(Ljava/lang/String;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l0);
      mv.visitFrame(Opcodes.F_NEW, 3, new Object[] { "java/lang/Object",
          Opcodes.LONG, Opcodes.INTEGER }, 0, new Object[] {});
      mv.visitVarInsn(ILOAD, 3);
      Label l1 = new Label();
      mv.visitJumpInsn(IFLT, l1);
      mv.visitVarInsn(ILOAD, 3);
      mv.visitLdcInsn(new Integer(999999));
      Label l2 = new Label();
      mv.visitJumpInsn(IF_ICMPLE, l2);
      mv.visitLabel(l1);
      mv.visitFrame(Opcodes.F_NEW, 3, new Object[] { "java/lang/Object",
          Opcodes.LONG, Opcodes.INTEGER }, 0, new Object[] {});
      mv.visitTypeInsn(NEW, "java/lang/IllegalArgumentException");
      mv.visitInsn(DUP);
      mv.visitLdcInsn("nanosecond timeout value out of range");
      mv.visitMethodInsn(INVOKESPECIAL,
          "java/lang/IllegalArgumentException", "<init>",
          "(Ljava/lang/String;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l2);
      mv.visitFrame(Opcodes.F_NEW, 3, new Object[] { "java/lang/Object",
          Opcodes.LONG, Opcodes.INTEGER }, 0, new Object[] {});
      mv.visitVarInsn(ILOAD, 3);
      mv.visitLdcInsn(new Integer(500000));
      Label l3 = new Label();
      mv.visitJumpInsn(IF_ICMPGE, l3);
      mv.visitVarInsn(ILOAD, 3);
      Label l4 = new Label();
      mv.visitJumpInsn(IFEQ, l4);
      mv.visitVarInsn(LLOAD, 1);
      mv.visitInsn(LCONST_0);
      mv.visitInsn(LCMP);
      mv.visitJumpInsn(IFNE, l4);
      mv.visitLabel(l3);
      mv.visitFrame(Opcodes.F_NEW, 3, new Object[] { "java/lang/Object",
          Opcodes.LONG, Opcodes.INTEGER }, 0, new Object[] {});
      mv.visitVarInsn(LLOAD, 1);
      mv.visitInsn(LCONST_1);
      mv.visitInsn(LADD);
      mv.visitVarInsn(LSTORE, 1);
      mv.visitLabel(l4);
      mv.visitFrame(Opcodes.F_NEW, 3, new Object[] { "java/lang/Object",
          Opcodes.LONG, Opcodes.INTEGER }, 0, new Object[] {});
      mv.visitVarInsn(ALOAD, 0);
      mv.visitVarInsn(LLOAD, 1);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "wait",
          "(J)V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(4, 4);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC + ACC_FINAL, "wait", "()V", null,
          new String[] { "java/lang/InterruptedException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitInsn(LCONST_0);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "wait",
          "(J)V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PROTECTED, "finalize", "()V", null,
          new String[] { "java/lang/Throwable" });
      mv.visitCode();
      mv.visitInsn(RETURN);
      mv.visitMaxs(0, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_STATIC, "<clinit>", "()V", null, null);
      mv.visitCode();
      mv.visitMethodInsn(INVOKESTATIC, "java/lang/Object",
          "registerNatives", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(0, 0);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PRIVATE, "forceLoad$JOAFIP$",
          "(Ljava/lang/Object;)V", null, null);
      mv.visitCode();
      Label l0 = new Label();
      Label l1 = new Label();
      Label l2 = new Label();
      mv.visitTryCatchBlock(l0, l1, l2, "java/lang/Exception");
      mv.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {});
      mv.visitVarInsn(ALOAD, 1);
      mv.visitVarInsn(ALOAD, 0);
      Label l3 = new Label();
      mv.visitJumpInsn(IF_ACMPEQ, l3);
      mv.visitLabel(l0);
      mv.visitVarInsn(ALOAD, 1);
      mv.visitMethodInsn(INVOKESTATIC,
          "net/sf/joafip/store/service/proxy/ProxyManager2",
          "forceLoad", "(Ljava/lang/Object;)V");
      mv.visitLabel(l1);
      mv.visitJumpInsn(GOTO, l3);
      mv.visitLabel(l2);
      mv.visitFrame(Opcodes.F_NEW, 2, new Object[] { "java/lang/Object",
          "java/lang/Object" }, 1,
          new Object[] { "java/lang/Exception" });
      mv.visitVarInsn(ASTORE, 2);
      mv.visitTypeInsn(NEW,
          "net/sf/joafip/store/service/proxy/JoafipObjectException");
      mv.visitInsn(DUP);
      mv.visitVarInsn(ALOAD, 2);
      mv.visitMethodInsn(INVOKESPECIAL,
          "net/sf/joafip/store/service/proxy/JoafipObjectException",
          "<init>", "(Ljava/lang/Throwable;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l3);
      mv.visitFrame(Opcodes.F_NEW, 2, new Object[] { "java/lang/Object",
          "java/lang/Object" }, 0, new Object[] {});
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 3);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here


   *            a class visitor.
   */
  public void accept(final ClassVisitor cv) {
    String[] exceptions = new String[this.exceptions.size()];
    this.exceptions.toArray(exceptions);
    MethodVisitor mv = cv.visitMethod(access, name, desc, signature,
        exceptions);
    if (mv != null) {
      accept(mv);
    }
  }
View Full Code Here

  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    FieldVisitor fv;
    MethodVisitor mv;
    AnnotationVisitor av0;

    cw.visit(
        V1_6,
        ACC_PUBLIC + ACC_SUPER,
        "net/sf/joafip/store/service/proxy/JoafipObject",
        null,
        "java/lang/Object",
        new String[] { "net/sf/joafip/store/service/proxy/IProxyCallBack" });

    {
      av0 = cw.visitAnnotation("Lnet/sf/joafip/NotStorableClass;", true);
      av0.visitEnd();
    }
    {
      fv = cw.visitField(
          ACC_PRIVATE + ACC_TRANSIENT,
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;",
          null, null);
      fv.visitEnd();
    }
    {
      fv = cw.visitField(ACC_PRIVATE + ACC_TRANSIENT,
          "setProxyCallBackTrace", "Ljava/lang/Exception;", null,
          null);
      fv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETSTATIC,
          "net/sf/joafip/store/service/proxy/NullProxyCallBack",
          "INSTANCE",
          "Lnet/sf/joafip/store/service/proxy/NullProxyCallBack;");
      mv.visitFieldInsn(PUTFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitInsn(RETURN);
      mv.visitMaxs(2, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "getProxyCallBack$JOAFIP$",
          "()Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;",
          null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "setProxyCallBack$JOAFIP$",
          "(Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;)V",
          null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitFieldInsn(GETSTATIC,
          "net/sf/joafip/store/service/proxy/NullProxyCallBack",
          "INSTANCE",
          "Lnet/sf/joafip/store/service/proxy/NullProxyCallBack;");
      Label l0 = new Label();
      mv.visitJumpInsn(IF_ACMPEQ, l0);
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitJumpInsn(IFNULL, l0);
      mv.visitTypeInsn(NEW, "java/lang/IllegalStateException");
      mv.visitInsn(DUP);
      mv.visitTypeInsn(NEW, "java/lang/StringBuilder");
      mv.visitInsn(DUP);
      mv.visitLdcInsn("for ");
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder",
          "<init>", "(Ljava/lang/String;)V");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass",
          "()Ljava/lang/Class;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/Object;)Ljava/lang/StringBuilder;");
      mv.visitLdcInsn("@");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESTATIC, "java/lang/System",
          "identityHashCode", "(Ljava/lang/Object;)I");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(I)Ljava/lang/StringBuilder;");
      mv.visitLdcInsn(" proxy call back already set to ");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "append", "(Ljava/lang/Object;)Ljava/lang/StringBuilder;");
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder",
          "toString", "()Ljava/lang/String;");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "setProxyCallBackTrace", "Ljava/lang/Exception;");
      mv.visitMethodInsn(INVOKESPECIAL,
          "java/lang/IllegalStateException", "<init>",
          "(Ljava/lang/String;Ljava/lang/Throwable;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l0);
      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
      mv.visitVarInsn(ALOAD, 1);
      Label l1 = new Label();
      mv.visitJumpInsn(IFNONNULL, l1);
      mv.visitTypeInsn(NEW, "java/lang/IllegalArgumentException");
      mv.visitInsn(DUP);
      mv.visitLdcInsn("argument can not be null");
      mv.visitMethodInsn(INVOKESPECIAL,
          "java/lang/IllegalArgumentException", "<init>",
          "(Ljava/lang/String;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l1);
      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
      mv.visitVarInsn(ALOAD, 0);
      mv.visitVarInsn(ALOAD, 1);
      mv.visitFieldInsn(PUTFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitTypeInsn(NEW, "java/lang/Exception");
      mv.visitInsn(DUP);
      mv.visitLdcInsn("setted proxy call back trace");
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Exception", "<init>",
          "(Ljava/lang/String;)V");
      mv.visitFieldInsn(PUTFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "setProxyCallBackTrace", "Ljava/lang/Exception;");
      mv.visitInsn(RETURN);
      mv.visitMaxs(5, 2);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "setIsLoaded$JOAFIP$",
          "()V",
          null,
          new String[] { "net/sf/joafip/store/service/objectio/ObjectIOException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "setIsLoaded$JOAFIP$", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(2, 2);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "setLoading$JOAFIP$", "(Z)V", null,
          null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitVarInsn(ILOAD, 1);
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "setLoading$JOAFIP$", "(Z)V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(2, 2);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "intercept$JOAFIP$", "()V", null,
          null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "intercept$JOAFIP$", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "methodEnd$JOAFIP$", "()V", null,
          null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "methodEnd$JOAFIP$", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PROTECTED, "forceLoad$JOAFIP$",
          "(Ljava/lang/Object;)V", null, null);
      mv.visitCode();
      Label l0 = new Label();
      Label l1 = new Label();
      Label l2 = new Label();
      mv.visitTryCatchBlock(l0, l1, l2, "java/lang/Exception");
      mv.visitVarInsn(ALOAD, 1);
      mv.visitVarInsn(ALOAD, 0);
      Label l3 = new Label();
      mv.visitJumpInsn(IF_ACMPEQ, l3);
      mv.visitLabel(l0);
      mv.visitVarInsn(ALOAD, 1);
      mv.visitMethodInsn(INVOKESTATIC,
          "net/sf/joafip/store/service/proxy/ProxyManager2",
          "forceLoad", "(Ljava/lang/Object;)V");
      mv.visitLabel(l1);
      mv.visitJumpInsn(GOTO, l3);
      mv.visitLabel(l2);
      mv.visitFrame(Opcodes.F_SAME1, 0, null, 1,
          new Object[] { "java/lang/Exception" });
      mv.visitVarInsn(ASTORE, 2);
      mv.visitTypeInsn(NEW,
          "net/sf/joafip/store/service/proxy/JoafipObjectException");
      mv.visitInsn(DUP);
      mv.visitVarInsn(ALOAD, 2);
      mv.visitMethodInsn(INVOKESPECIAL,
          "net/sf/joafip/store/service/proxy/JoafipObjectException",
          "<init>", "(Ljava/lang/Throwable;)V");
      mv.visitInsn(ATHROW);
      mv.visitLabel(l3);
      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 3);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "forceLoad$JOAFIP$",
          "()V",
          null,
          new String[] {
              "net/sf/joafip/store/service/objectio/ObjectIOException",
              "net/sf/joafip/store/service/objectio/ObjectIODataRecordNotFoundException",
              "net/sf/joafip/store/service/objectio/ObjectIOInvalidClassException",
              "net/sf/joafip/store/service/objectio/ObjectIOClassNotFoundException",
              "net/sf/joafip/store/service/objectio/ObjectIODataCorruptedException",
              "net/sf/joafip/store/service/objectio/ObjectIONotSerializableException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "forceLoad$JOAFIP$", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC,
          "getMyFileAccessSessionIdentifier$JOAFIP$", "()J", null,
          null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "getMyFileAccessSessionIdentifier$JOAFIP$", "()J");
      mv.visitInsn(LRETURN);
      mv.visitMaxs(2, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "getProxiedClass$JOAFIP$",
          "()Lnet/sf/joafip/store/entity/classinfo/ClassInfo;", null,
          null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "getProxiedClass$JOAFIP$",
          "()Lnet/sf/joafip/store/entity/classinfo/ClassInfo;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "isLoaded$JOAFIP$",
          "()Z",
          null,
          new String[] { "net/sf/joafip/store/service/objectio/ObjectIOException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "isLoaded$JOAFIP$", "()Z");
      mv.visitInsn(IRETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "unload$JOAFIP$",
          "()V",
          null,
          new String[] {
              "net/sf/joafip/store/service/objectio/ObjectIOException",
              "net/sf/joafip/store/service/objectio/ObjectIOInvalidClassException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "unload$JOAFIP$", "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "getObjectIOManager$JOAFIP$",
          "()Lnet/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO;",
          null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD,
          "net/sf/joafip/store/service/proxy/JoafipObject",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackToImplement;");
      mv.visitMethodInsn(
          INVOKEINTERFACE,
          "net/sf/joafip/store/service/proxy/IProxyCallBackToImplement",
          "getObjectIOManager$JOAFIP$",
          "()Lnet/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    FieldVisitor fv;
    MethodVisitor mv;
    @SuppressWarnings("unused")
    AnnotationVisitor av0;

    cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER, "net/sf/joafip/asm/New", null,
        "java/lang/Object", null);

    {
      fv = cw.visitField(ACC_PRIVATE, "list", "Ljava/util/List;",
          "Ljava/util/List<Ljava/lang/Integer;>;", null);
      fv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitTypeInsn(NEW, "java/util/LinkedList");
      mv.visitInsn(DUP);
      mv.visitMethodInsn(INVOKESPECIAL, "java/util/LinkedList", "<init>",
          "()V");
      mv.visitFieldInsn(PUTFIELD, "net/sf/joafip/asm/New", "list",
          "Ljava/util/List;");
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "getList", "()Ljava/util/List;",
          "()Ljava/util/List<Ljava/lang/Integer;>;", null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD, "net/sf/joafip/asm/New", "list",
          "Ljava/util/List;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

  @SuppressWarnings("unused")
  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    FieldVisitor fv;
    MethodVisitor mv;
    AnnotationVisitor av0;

    cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER,
        "net/sf/joafip/asm/NewProxyCallBack", null, "java/lang/Object",
        null);

    {
      fv = cw.visitField(
          ACC_PRIVATE + ACC_FINAL,
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;",
          null, null);
      fv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "<init>",
          "()V",
          null,
          new String[] { "net/sf/joafip/store/service/proxy/ProxyException" });
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitVarInsn(ALOAD, 0);
      mv.visitTypeInsn(NEW,
          "net/sf/joafip/store/service/proxy/ProxyCallBack");
      mv.visitInsn(DUP);
      mv.visitMethodInsn(INVOKESPECIAL,
          "net/sf/joafip/store/service/proxy/ProxyCallBack",
          "<init>", "()V");
      mv.visitFieldInsn(PUTFIELD, "net/sf/joafip/asm/NewProxyCallBack",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;");
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PUBLIC,
          "getProxyCallBack",
          "()Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;",
          null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitFieldInsn(GETFIELD, "net/sf/joafip/asm/NewProxyCallBack",
          "proxyCallBack",
          "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;");
      mv.visitInsn(ARETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    FieldVisitor fv;
    MethodVisitor mv;
    @SuppressWarnings("unused")
    AnnotationVisitor av0;

    cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER,
        "net/sf/joafip/asm/StaticProxyCallBackCall", null,
        "java/lang/Object", null);

    {
      fv = cw.visitField(ACC_PRIVATE, "field", "I", null, null);
      fv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }

    {
      mv = cw.visitMethod(ACC_PUBLIC, "method", "()V", null, null);
      mv.visitCode();
      mv.visitTypeInsn(NEW, "net/sf/joafip/asm/StaticProxyCallBackCall");
      mv.visitInsn(DUP);
      mv.visitMethodInsn(INVOKESPECIAL,
          "net/sf/joafip/asm/StaticProxyCallBackCall", "<init>",
          "()V");
      mv.visitVarInsn(ASTORE, 1);

      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESTATIC,
          "net/sf/joafip/store/service/proxy/StaticProxyCallBack",
          "intercept$JOAFIP$", "(Ljava/lang/Object;)V");

      mv.visitVarInsn(ALOAD, 1);
      mv.visitInsn(ICONST_0);
      mv.visitFieldInsn(PUTFIELD,
          "net/sf/joafip/asm/StaticProxyCallBackCall", "field", "I");
      mv.visitVarInsn(ALOAD, 1);
      mv.visitMethodInsn(INVOKESTATIC,
          "net/sf/joafip/store/service/proxy/StaticProxyCallBack",
          "forceLoad$JOAFIP$", "(Ljava/lang/Object;)V");

      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESTATIC,
          "net/sf/joafip/store/service/proxy/StaticProxyCallBack",
          "methodEnd$JOAFIP$", "(Ljava/lang/Object;)V");

      mv.visitInsn(RETURN);
      mv.visitMaxs(2, 2);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    @SuppressWarnings("unused")
    FieldVisitor fv;
    MethodVisitor mv;
    @SuppressWarnings("unused")
    AnnotationVisitor av0;

    cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER, "net/sf/joafip/asm/Ldc", null,
        "java/lang/Object", null);

    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "method", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitLdcInsn("hello");
      mv.visitLdcInsn(Type
          .getType("Lnet/sf/joafip/store/service/bytecode/ToPersist;"));
      mv.visitMethodInsn(INVOKESPECIAL, "net/sf/joafip/asm/Ldc", "x",
          "(Ljava/lang/String;Ljava/lang/Class;)V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(
          ACC_PRIVATE,
          "x",
          "(Ljava/lang/String;Ljava/lang/Class;)V",
          "(Ljava/lang/String;Ljava/lang/Class<Lnet/sf/joafip/store/service/bytecode/ToPersist;>;)V",
          null);
      mv.visitCode();
      mv.visitInsn(RETURN);
      mv.visitMaxs(0, 3);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

  public static byte[] dump() throws Exception {

    ClassWriter cw = new ClassWriter(0);
    // FieldVisitor fv;
    MethodVisitor mv;
    // AnnotationVisitor av0;

    cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER,
        "net/sf/joafip/asm/InvokeStatic", null, "java/lang/Object",
        null);

    {
      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      mv.visitCode();
      mv.visitVarInsn(ALOAD, 0);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(1, 1);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PUBLIC, "method", "()V", null, null);
      mv.visitCode();
      mv.visitTypeInsn(NEW, "java/lang/Object");
      mv.visitInsn(DUP);
      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
          "()V");
      mv.visitVarInsn(ASTORE, 1);
      mv.visitVarInsn(ALOAD, 0);
      mv.visitVarInsn(ALOAD, 1);
      mv.visitLdcInsn("xxx");
      mv.visitMethodInsn(INVOKESPECIAL, "net/sf/joafip/asm/InvokeStatic",
          "invokeStatic", "(Ljava/lang/Object;Ljava/lang/String;)V");
      mv.visitInsn(RETURN);
      mv.visitMaxs(3, 2);
      mv.visitEnd();
    }
    {
      mv = cw.visitMethod(ACC_PRIVATE, "invokeStatic",
          "(Ljava/lang/Object;Ljava/lang/String;)V", null, null);
      mv.visitCode();
      Label l0 = new Label();
      Label l1 = new Label();
      Label l2 = new Label();
      mv.visitTryCatchBlock(l0, l1, l2, "java/lang/Exception");
      mv.visitLabel(l0);
      mv.visitLdcInsn("net.sf.joafip.store.service.proxy.StaticProxyCallBack");
      mv.visitMethodInsn(INVOKESTATIC, "java/lang/Class", "forName",
          "(Ljava/lang/String;)Ljava/lang/Class;");
      mv.visitVarInsn(ASTORE, 3);
      mv.visitVarInsn(ALOAD, 3);
      mv.visitVarInsn(ALOAD, 2);
      mv.visitInsn(ICONST_1);
      mv.visitTypeInsn(ANEWARRAY, "java/lang/Class");
      mv.visitInsn(DUP);
      mv.visitInsn(ICONST_0);
      mv.visitLdcInsn(Type.getType("Ljava/lang/Object;"));
      mv.visitInsn(AASTORE);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getMethod",
          "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;");
      mv.visitVarInsn(ASTORE, 4);
      mv.visitVarInsn(ALOAD, 4);
      mv.visitInsn(ACONST_NULL);
      mv.visitInsn(ICONST_1);
      mv.visitTypeInsn(ANEWARRAY, "java/lang/Object");
      mv.visitInsn(DUP);
      mv.visitInsn(ICONST_0);
      mv.visitVarInsn(ALOAD, 1);
      mv.visitInsn(AASTORE);
      mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/reflect/Method",
          "invoke",
          "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;");
      mv.visitInsn(POP);
      mv.visitLabel(l1);
      Label l3 = new Label();
      mv.visitJumpInsn(GOTO, l3);
      mv.visitLabel(l2);
      mv.visitFrame(Opcodes.F_SAME1, 0, null, 1,
          new Object[] { "java/lang/Exception" });
      mv.visitVarInsn(ASTORE, 3);
      mv.visitLabel(l3);
      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
      mv.visitInsn(RETURN);
      mv.visitMaxs(6, 5);
      mv.visitEnd();
    }
    cw.visitEnd();

    return cw.toByteArray();
  }
View Full Code Here

      final Collection<Class<?>> interfacesClassCollection,
      final boolean interceptMethodEnd) throws EnhanceException {

    final ClassWriter classWriter = new ClassWriter(
        ClassWriter.COMPUTE_MAXS);
    MethodVisitor methodVisitor;

    final String classInternalName = className.replace('.', '/');
    final String superClassInternalName = superClassName.replace('.', '/');
    final String[] interfaces = new String[interfacesClassCollection.size()];
    int index = 0;
    for (Class<?> interfaceClass : interfacesClassCollection) {
      interfaces[index++] = Type.getInternalName(interfaceClass);
    }

    classWriter.visit(
    /**/V1_6,/* version */
        /**/ACC_PUBLIC + ACC_SUPER,/* access */
        /**/classInternalName,/* name */
        /**/null,/* signature */
        /**/superClassInternalName,/* superName */
        /**/interfaces/* interfaces */);

    classWriter.visitAnnotation(doNotTransformDesc, true/*
                               * visible at
                               * runtime
                               */);

    /*
     * methods creation
     */
    for (Method method : methods) {
      final String methodName = method.getName();
      final String desc = Type.getMethodDescriptor(method);
      final Class<?>[] exceptionsClass = method.getExceptionTypes();
      final String[] exceptions = new String[exceptionsClass.length];// NOPMD
      for (index = 0; index < exceptionsClass.length; index++) {
        exceptions[index] = Type
            .getInternalName(exceptionsClass[index]);
      }

      final int access = Modifier.isPublic(method.getModifiers()) ?
      /**/ACC_PUBLIC : 0;
      methodVisitor = classWriter.visitMethod(
      /**/access,
      /**/methodName,
      /**/desc,
      /**/null,
      /**/exceptions);

      // methodVisitor.visitCode();
      // methodVisitor.visitVarInsn(ALOAD, 0);
      // methodVisitor.visitMethodInsn(
      // /**/INVOKEVIRTUAL,
      // /**/classInternalName,
      // /**/INTERCEPT_METHOD_NAME,
      // /**/interceptMethodDesc);

      // methodVisitor.visitVarInsn(ALOAD, 0);
      final Class<?>[] parameterTypes = method.getParameterTypes();
      final int numberOfParams = parameterTypes.length;
      int paramSize = 0;
      for (index = 0; index < numberOfParams; index++) {
        final Type type = Type.getType(parameterTypes[index]);
        paramSize += type.getSize();
        // final int opcode = type.getOpcode(ILOAD);
        // methodVisitor.visitVarInsn(opcode, index + 1);
      }
      // methodVisitor.visitMethodInsn(
      // /**/INVOKESPECIAL,
      // /**/superClassInternalName,
      // /**/methodName,
      // /**/desc);

      final Type returnType = Type.getReturnType(method);
      final int opcode;
      final int returnTypeSize;
      opcode = returnType.getOpcode(IRETURN);
      returnTypeSize = returnType.getSize();
      switch (opcode) {
      case IRETURN:
        methodVisitor.visitInsn(ICONST_0);
        break;
      case RETURN:
        break;
      case ARETURN:
        methodVisitor.visitInsn(ACONST_NULL);
        break;
      case DRETURN:
        methodVisitor.visitInsn(DCONST_0);
        break;
      case FRETURN:
        methodVisitor.visitInsn(FCONST_0);
        break;
      case LRETURN:
        methodVisitor.visitInsn(LCONST_0);
        break;
      default:
        throw new EnhanceException("bad return opcode " + opcode);
      }
      methodVisitor.visitInsn(opcode);

      final int maxs = paramSize + returnTypeSize;
      methodVisitor.visitMaxs(maxs, maxs);

      methodVisitor.visitEnd();
    }

    classWriter.visitEnd();

    return classWriter.toByteArray();
View Full Code Here

  @Override
  public MethodVisitor visitMethod(final int access, final String name,
      final String desc, final String signature, final String[] exceptions) {
    // method no more final: no can not change modifier, and also useless
    // final int newAccess = access & (~ACC_FINAL);
    final MethodVisitor methodVisitor = classWriter.visitMethod(access,
        name, desc, signature, exceptions);
    final boolean staticAccess = (access & ACC_STATIC) == ACC_STATIC;
    final boolean abstractAccess = (access & ACC_ABSTRACT) == ACC_ABSTRACT;
    final boolean nativeAccess = (access & ACC_NATIVE) == ACC_NATIVE;
    final boolean skipObjectMethod = "finalize".equals(name)
View Full Code Here

TOP

Related Classes of net.sf.joafip.asm.MethodVisitor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.