Advertisement
Barteks2x

Untitled

Oct 13th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1.  
  2.     public static byte[] dump() throws Exception {
  3.  
  4.         ClassWriter cw = new ClassWriter(0);
  5.         FieldVisitor fv;
  6.         MethodVisitor mv;
  7.         AnnotationVisitor av0;
  8.  
  9.         cw.visit(52, ACC_PUBLIC +
  10.                 ACC_SUPER, "test/BadIDEA", null, "java/lang/Object", new String[]{});
  11.  
  12.         cw.visitInnerClass("test/BadIDEA$Inner", "test/BadIDEA", "Inner", ACC_STATIC);
  13.  
  14.         cw.visitInnerClass("test/BadIDEA$1", null, null, 0);
  15.  
  16.         {
  17.             fv = cw.visitField(ACC_PRIVATE + ACC_FINAL, "field", "Ltest/BadIDEA$Inner;", null, null);
  18.             fv.visitEnd();
  19.         }
  20.         {
  21.             mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
  22.             mv.visitCode();
  23.             mv.visitVarInsn(ALOAD, 0);
  24.             mv.visitTypeInsn(NEW, "test/BadIDEA$Inner");
  25.             mv.visitInsn(DUP);
  26.             mv.visitInsn(ACONST_NULL);
  27.             mv.visitMethodInsn(INVOKESPECIAL, "test/BadIDEA$Inner", "<init>", "(Ltest/BadIDEA$1;)V", false);
  28.             mv.visitFieldInsn(PUTFIELD, "test/BadIDEA", "field", "Ltest/BadIDEA$Inner;");
  29.             mv.visitMaxs(4, 1);
  30.             mv.visitEnd();
  31.         }
  32.         cw.visitEnd();
  33.  
  34.         return cw.toByteArray();
  35.     }
  36.  
  37.     public static byte[] dumpInner() throws Exception {
  38.  
  39.         ClassWriter cw = new ClassWriter(0);
  40.         FieldVisitor fv;
  41.         MethodVisitor mv;
  42.         AnnotationVisitor av0;
  43.  
  44.         cw.visit(V1_6, ACC_SUPER, "test/BadIDEA$Inner", null, "java/lang/Object", null);
  45.  
  46.         cw.visitInnerClass("test/BadIDEA$Inner", "test/BadIDEA", "Inner", ACC_STATIC);
  47.  
  48.         cw.visitInnerClass("test/BadIDEA$1", null, null, 0);
  49.  
  50.         {
  51.             mv = cw.visitMethod(ACC_PRIVATE, "<init>", "()V", null, null);
  52.             mv.visitCode();
  53.             mv.visitVarInsn(ALOAD, 0);
  54.             mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
  55.             mv.visitInsn(RETURN);
  56.             mv.visitMaxs(1, 1);
  57.             mv.visitEnd();
  58.         }
  59.         {
  60.             mv = cw.visitMethod(ACC_SYNTHETIC, "<init>", "(Ltest/BadIDEA$1;)V", null, null);
  61.             mv.visitCode();
  62.             mv.visitVarInsn(ALOAD, 0);
  63.             mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
  64.             mv.visitInsn(RETURN);
  65.             mv.visitMaxs(1, 1);
  66.             mv.visitEnd();
  67.         }
  68.         cw.visitEnd();
  69.  
  70.         return cw.toByteArray();
  71.     }
  72.  
  73.     public static byte[] dump$1() throws Exception {
  74.  
  75.         ClassWriter cw = new ClassWriter(0);
  76.         FieldVisitor fv;
  77.         MethodVisitor mv;
  78.         AnnotationVisitor av0;
  79.  
  80.         cw.visit(V1_6, ACC_SUPER, "test/BadIDEA$1", null, "java/lang/Object", new String[]{
  81.         });
  82.  
  83.         cw.visitOuterClass("test/BadIDEA", "something", "(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/BlockPos;");
  84.  
  85.         cw.visitInnerClass("test/BadIDEA$1", null, null, 0);
  86.         {
  87.             mv = cw.visitMethod(0, "<init>", "(Ltest/BadIDEA;)V", null, null);
  88.             mv.visitCode();
  89.             mv.visitVarInsn(ALOAD, 0);
  90.             mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
  91.             mv.visitInsn(RETURN);
  92.             mv.visitMaxs(1, 1);
  93.             mv.visitEnd();
  94.         }
  95.         cw.visitEnd();
  96.  
  97.         return cw.toByteArray();
  98.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement