Created
May 28, 2022 00:01
-
-
Save nick-botticelli/78bbbb90c12d55110f9191fd484dad83 to your computer and use it in GitHub Desktop.
Output from ASMifier support of my bytecode-viewer fork. The input is from `the.bytecode.club.bytecodeviewer.Settings`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package asm.the.bytecode.club.bytecodeviewer; | |
import org.objectweb.asm.AnnotationVisitor; | |
import org.objectweb.asm.Attribute; | |
import org.objectweb.asm.ClassReader; | |
import org.objectweb.asm.ClassWriter; | |
import org.objectweb.asm.ConstantDynamic; | |
import org.objectweb.asm.FieldVisitor; | |
import org.objectweb.asm.Handle; | |
import org.objectweb.asm.Label; | |
import org.objectweb.asm.MethodVisitor; | |
import org.objectweb.asm.Opcodes; | |
import org.objectweb.asm.RecordComponentVisitor; | |
import org.objectweb.asm.Type; | |
import org.objectweb.asm.TypePath; | |
public class SettingsDump implements Opcodes { | |
public static byte[] dump () throws Exception { | |
ClassWriter classWriter = new ClassWriter(0); | |
FieldVisitor fieldVisitor; | |
RecordComponentVisitor recordComponentVisitor; | |
MethodVisitor methodVisitor; | |
AnnotationVisitor annotationVisitor0; | |
classWriter.visit(V1_8, ACC_PUBLIC | ACC_SUPER, "the/bytecode/club/bytecodeviewer/Settings", null, "java/lang/Object", null); | |
classWriter.visitSource("Settings.java", null); | |
classWriter.visitInnerClass("the/bytecode/club/bytecodeviewer/Settings$1", null, null, 0); | |
classWriter.visitInnerClass("the/bytecode/club/bytecodeviewer/Settings$2", null, null, 0); | |
classWriter.visitInnerClass("java/lang/invoke/MethodHandles$Lookup", "java/lang/invoke/MethodHandles", "Lookup", ACC_PUBLIC | ACC_FINAL | ACC_STATIC); | |
{ | |
fieldVisitor = classWriter.visitField(ACC_PUBLIC | ACC_STATIC, "firstBoot", "Z", null, null); | |
fieldVisitor.visitEnd(); | |
} | |
{ | |
fieldVisitor = classWriter.visitField(ACC_PUBLIC | ACC_STATIC, "hasSetLanguageAsSystemLanguage", "Z", null, null); | |
fieldVisitor.visitEnd(); | |
} | |
{ | |
fieldVisitor = classWriter.visitField(ACC_PRIVATE | ACC_STATIC, "recentPlugins", "Ljava/util/List;", "Ljava/util/List<Ljava/lang/String;>;", null); | |
fieldVisitor.visitEnd(); | |
} | |
{ | |
fieldVisitor = classWriter.visitField(ACC_PRIVATE | ACC_STATIC, "recentFiles", "Ljava/util/List;", "Ljava/util/List<Ljava/lang/String;>;", null); | |
fieldVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(41, label0); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false); | |
methodVisitor.visitInsn(RETURN); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLocalVariable("this", "Lthe/bytecode/club/bytecodeviewer/Settings;", null, label0, label1, 0); | |
methodVisitor.visitMaxs(1, 1); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC | ACC_STATIC | ACC_SYNCHRONIZED, "addRecentFile", "(Ljava/io/File;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(78, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "remove", "(Ljava/lang/Object;)Z", true); | |
methodVisitor.visitInsn(POP); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(79, label1); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "add", "(ILjava/lang/Object;)V", true); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(80, label2); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitIntInsn(BIPUSH, 25); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "deduplicateAndTrim", "(Ljava/util/List;I)V", false); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(81, label3); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "filesName", "Ljava/lang/String;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "listToString", "(Ljava/util/List;)Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskWriter", "replaceFile", "(Ljava/lang/String;Ljava/lang/String;Z)V", false); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLineNumber(82, label4); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "resetRecentFilesMenu", "()V", false); | |
Label label5 = new Label(); | |
methodVisitor.visitLabel(label5); | |
methodVisitor.visitLineNumber(83, label5); | |
methodVisitor.visitInsn(RETURN); | |
Label label6 = new Label(); | |
methodVisitor.visitLabel(label6); | |
methodVisitor.visitLocalVariable("f", "Ljava/io/File;", null, label0, label6, 0); | |
methodVisitor.visitMaxs(3, 1); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC | ACC_STATIC | ACC_SYNCHRONIZED, "removeRecentFile", "(Ljava/io/File;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(87, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "remove", "(Ljava/lang/Object;)Z", true); | |
Label label1 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label1); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(89, label2); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "filesName", "Ljava/lang/String;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "listToString", "(Ljava/util/List;)Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskWriter", "replaceFile", "(Ljava/lang/String;Ljava/lang/String;Z)V", false); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(90, label3); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "resetRecentFilesMenu", "()V", false); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(92, label1); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/io/File"}, 0, new Object[] {}); | |
methodVisitor.visitInsn(RETURN); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLocalVariable("f", "Ljava/io/File;", null, label0, label4, 0); | |
methodVisitor.visitMaxs(3, 1); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC | ACC_STATIC, "getRecentFile", "()Ljava/lang/String;", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(96, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "isEmpty", "()Z", true); | |
Label label1 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label1); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(97, label2); | |
methodVisitor.visitInsn(ACONST_NULL); | |
methodVisitor.visitInsn(ARETURN); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(99, label1); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "get", "(I)Ljava/lang/Object;", true); | |
methodVisitor.visitTypeInsn(CHECKCAST, "java/lang/String"); | |
methodVisitor.visitInsn(ARETURN); | |
methodVisitor.visitMaxs(2, 0); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC | ACC_STATIC | ACC_SYNCHRONIZED, "addRecentPlugin", "(Ljava/io/File;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(109, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "remove", "(Ljava/lang/Object;)Z", true); | |
methodVisitor.visitInsn(POP); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(110, label1); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "add", "(ILjava/lang/Object;)V", true); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(111, label2); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitIntInsn(BIPUSH, 25); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "deduplicateAndTrim", "(Ljava/util/List;I)V", false); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(112, label3); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "pluginsName", "Ljava/lang/String;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "listToString", "(Ljava/util/List;)Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskWriter", "replaceFile", "(Ljava/lang/String;Ljava/lang/String;Z)V", false); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLineNumber(113, label4); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "resetRecentFilesMenu", "()V", false); | |
Label label5 = new Label(); | |
methodVisitor.visitLabel(label5); | |
methodVisitor.visitLineNumber(114, label5); | |
methodVisitor.visitInsn(RETURN); | |
Label label6 = new Label(); | |
methodVisitor.visitLabel(label6); | |
methodVisitor.visitLocalVariable("f", "Ljava/io/File;", null, label0, label6, 0); | |
methodVisitor.visitMaxs(3, 1); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PUBLIC | ACC_STATIC | ACC_SYNCHRONIZED, "removeRecentPlugin", "(Ljava/io/File;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(118, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "getAbsolutePath", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "remove", "(Ljava/lang/Object;)Z", true); | |
Label label1 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label1); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(120, label2); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "pluginsName", "Ljava/lang/String;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "listToString", "(Ljava/util/List;)Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskWriter", "replaceFile", "(Ljava/lang/String;Ljava/lang/String;Z)V", false); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(121, label3); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "resetRecentFilesMenu", "()V", false); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(123, label1); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/io/File"}, 0, new Object[] {}); | |
methodVisitor.visitInsn(RETURN); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLocalVariable("f", "Ljava/io/File;", null, label0, label4, 0); | |
methodVisitor.visitMaxs(3, 1); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PROTECTED | ACC_STATIC, "resetRecentFilesMenu", "()V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(131, label0); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "viewer", "Lthe/bytecode/club/bytecodeviewer/gui/MainViewerGUI;"); | |
methodVisitor.visitFieldInsn(GETFIELD, "the/bytecode/club/bytecodeviewer/gui/MainViewerGUI", "recentFilesSecondaryMenu", "Ljavax/swing/JMenu;"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenu", "removeAll", "()V", false); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(132, label1); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "iterator", "()Ljava/util/Iterator;", true); | |
methodVisitor.visitVarInsn(ASTORE, 0); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/util/Iterator"}, 0, new Object[] {}); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true); | |
Label label3 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label3); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true); | |
methodVisitor.visitTypeInsn(CHECKCAST, "java/lang/String"); | |
methodVisitor.visitVarInsn(ASTORE, 1); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLineNumber(134, label4); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "isEmpty", "()Z", false); | |
Label label5 = new Label(); | |
methodVisitor.visitJumpInsn(IFNE, label5); | |
Label label6 = new Label(); | |
methodVisitor.visitLabel(label6); | |
methodVisitor.visitLineNumber(136, label6); | |
methodVisitor.visitTypeInsn(NEW, "javax/swing/JMenuItem"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "javax/swing/JMenuItem", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitVarInsn(ASTORE, 2); | |
Label label7 = new Label(); | |
methodVisitor.visitLabel(label7); | |
methodVisitor.visitLineNumber(137, label7); | |
methodVisitor.visitVarInsn(ALOAD, 2); | |
methodVisitor.visitInvokeDynamicInsn("actionPerformed", "()Ljava/awt/event/ActionListener;", new Handle(Opcodes.H_INVOKESTATIC, "java/lang/invoke/LambdaMetafactory", "metafactory", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;", false), new Object[]{Type.getType("(Ljava/awt/event/ActionEvent;)V"), new Handle(Opcodes.H_INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "lambda$resetRecentFilesMenu$0", "(Ljava/awt/event/ActionEvent;)V", false), Type.getType("(Ljava/awt/event/ActionEvent;)V")}); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenuItem", "addActionListener", "(Ljava/awt/event/ActionListener;)V", false); | |
Label label8 = new Label(); | |
methodVisitor.visitLabel(label8); | |
methodVisitor.visitLineNumber(142, label8); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "viewer", "Lthe/bytecode/club/bytecodeviewer/gui/MainViewerGUI;"); | |
methodVisitor.visitFieldInsn(GETFIELD, "the/bytecode/club/bytecodeviewer/gui/MainViewerGUI", "recentFilesSecondaryMenu", "Ljavax/swing/JMenu;"); | |
methodVisitor.visitVarInsn(ALOAD, 2); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenu", "add", "(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;", false); | |
methodVisitor.visitInsn(POP); | |
methodVisitor.visitLabel(label5); | |
methodVisitor.visitLineNumber(144, label5); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/util/Iterator"}, 0, new Object[] {}); | |
methodVisitor.visitJumpInsn(GOTO, label2); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(147, label3); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "viewer", "Lthe/bytecode/club/bytecodeviewer/gui/MainViewerGUI;"); | |
methodVisitor.visitFieldInsn(GETFIELD, "the/bytecode/club/bytecodeviewer/gui/MainViewerGUI", "recentPluginsSecondaryMenu", "Ljavax/swing/JMenu;"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenu", "removeAll", "()V", false); | |
Label label9 = new Label(); | |
methodVisitor.visitLabel(label9); | |
methodVisitor.visitLineNumber(148, label9); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "iterator", "()Ljava/util/Iterator;", true); | |
methodVisitor.visitVarInsn(ASTORE, 0); | |
Label label10 = new Label(); | |
methodVisitor.visitLabel(label10); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/util/Iterator"}, 0, new Object[] {}); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true); | |
Label label11 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label11); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true); | |
methodVisitor.visitTypeInsn(CHECKCAST, "java/lang/String"); | |
methodVisitor.visitVarInsn(ASTORE, 1); | |
Label label12 = new Label(); | |
methodVisitor.visitLabel(label12); | |
methodVisitor.visitLineNumber(150, label12); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "isEmpty", "()Z", false); | |
Label label13 = new Label(); | |
methodVisitor.visitJumpInsn(IFNE, label13); | |
Label label14 = new Label(); | |
methodVisitor.visitLabel(label14); | |
methodVisitor.visitLineNumber(152, label14); | |
methodVisitor.visitTypeInsn(NEW, "javax/swing/JMenuItem"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "javax/swing/JMenuItem", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitVarInsn(ASTORE, 2); | |
Label label15 = new Label(); | |
methodVisitor.visitLabel(label15); | |
methodVisitor.visitLineNumber(153, label15); | |
methodVisitor.visitVarInsn(ALOAD, 2); | |
methodVisitor.visitInvokeDynamicInsn("actionPerformed", "()Ljava/awt/event/ActionListener;", new Handle(Opcodes.H_INVOKESTATIC, "java/lang/invoke/LambdaMetafactory", "metafactory", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;", false), new Object[]{Type.getType("(Ljava/awt/event/ActionEvent;)V"), new Handle(Opcodes.H_INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Settings", "lambda$resetRecentFilesMenu$1", "(Ljava/awt/event/ActionEvent;)V", false), Type.getType("(Ljava/awt/event/ActionEvent;)V")}); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenuItem", "addActionListener", "(Ljava/awt/event/ActionListener;)V", false); | |
Label label16 = new Label(); | |
methodVisitor.visitLabel(label16); | |
methodVisitor.visitLineNumber(158, label16); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "viewer", "Lthe/bytecode/club/bytecodeviewer/gui/MainViewerGUI;"); | |
methodVisitor.visitFieldInsn(GETFIELD, "the/bytecode/club/bytecodeviewer/gui/MainViewerGUI", "recentPluginsSecondaryMenu", "Ljavax/swing/JMenu;"); | |
methodVisitor.visitVarInsn(ALOAD, 2); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenu", "add", "(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;", false); | |
methodVisitor.visitInsn(POP); | |
methodVisitor.visitLabel(label13); | |
methodVisitor.visitLineNumber(160, label13); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 1, new Object[] {"java/util/Iterator"}, 0, new Object[] {}); | |
methodVisitor.visitJumpInsn(GOTO, label10); | |
methodVisitor.visitLabel(label11); | |
methodVisitor.visitLineNumber(161, label11); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitInsn(RETURN); | |
methodVisitor.visitLocalVariable("m", "Ljavax/swing/JMenuItem;", null, label7, label5, 2); | |
methodVisitor.visitLocalVariable("s", "Ljava/lang/String;", null, label4, label5, 1); | |
methodVisitor.visitLocalVariable("m", "Ljavax/swing/JMenuItem;", null, label15, label13, 2); | |
methodVisitor.visitLocalVariable("s", "Ljava/lang/String;", null, label12, label13, 1); | |
methodVisitor.visitMaxs(3, 3); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PRIVATE | ACC_STATIC | ACC_SYNTHETIC, "lambda$resetRecentFilesMenu$1", "(Ljava/awt/event/ActionEvent;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(155, label0); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/awt/event/ActionEvent", "getSource", "()Ljava/lang/Object;", false); | |
methodVisitor.visitTypeInsn(CHECKCAST, "javax/swing/JMenuItem"); | |
methodVisitor.visitVarInsn(ASTORE, 1); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(156, label1); | |
methodVisitor.visitTypeInsn(NEW, "java/io/File"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenuItem", "getText", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/io/File", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "startPlugin", "(Ljava/io/File;)V", false); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(157, label2); | |
methodVisitor.visitInsn(RETURN); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLocalVariable("e", "Ljava/awt/event/ActionEvent;", null, label0, label3, 0); | |
methodVisitor.visitLocalVariable("m1", "Ljavax/swing/JMenuItem;", null, label1, label3, 1); | |
methodVisitor.visitMaxs(3, 2); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_PRIVATE | ACC_STATIC | ACC_SYNTHETIC, "lambda$resetRecentFilesMenu$0", "(Ljava/awt/event/ActionEvent;)V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(139, label0); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/awt/event/ActionEvent", "getSource", "()Ljava/lang/Object;", false); | |
methodVisitor.visitTypeInsn(CHECKCAST, "javax/swing/JMenuItem"); | |
methodVisitor.visitVarInsn(ASTORE, 1); | |
Label label1 = new Label(); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(140, label1); | |
methodVisitor.visitInsn(ICONST_1); | |
methodVisitor.visitTypeInsn(ANEWARRAY, "java/io/File"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitTypeInsn(NEW, "java/io/File"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitVarInsn(ALOAD, 1); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "javax/swing/JMenuItem", "getText", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/io/File", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitInsn(AASTORE); | |
methodVisitor.visitInsn(ICONST_1); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "openFiles", "([Ljava/io/File;Z)V", false); | |
Label label2 = new Label(); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(141, label2); | |
methodVisitor.visitInsn(RETURN); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLocalVariable("e", "Ljava/awt/event/ActionEvent;", null, label0, label3, 0); | |
methodVisitor.visitLocalVariable("m12", "Ljavax/swing/JMenuItem;", null, label1, label3, 1); | |
methodVisitor.visitMaxs(6, 2); | |
methodVisitor.visitEnd(); | |
} | |
{ | |
methodVisitor = classWriter.visitMethod(ACC_STATIC, "<clinit>", "()V", null, null); | |
methodVisitor.visitCode(); | |
Label label0 = new Label(); | |
Label label1 = new Label(); | |
Label label2 = new Label(); | |
methodVisitor.visitTryCatchBlock(label0, label1, label2, "java/lang/Exception"); | |
Label label3 = new Label(); | |
methodVisitor.visitLabel(label3); | |
methodVisitor.visitLineNumber(43, label3); | |
methodVisitor.visitInsn(ICONST_1); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "firstBoot", "Z"); | |
Label label4 = new Label(); | |
methodVisitor.visitLabel(label4); | |
methodVisitor.visitLineNumber(44, label4); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "hasSetLanguageAsSystemLanguage", "Z"); | |
methodVisitor.visitLabel(label0); | |
methodVisitor.visitLineNumber(52, label0); | |
methodVisitor.visitTypeInsn(NEW, "java/io/File"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "filesName", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/io/File", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "exists", "()Z", false); | |
Label label5 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label5); | |
Label label6 = new Label(); | |
methodVisitor.visitLabel(label6); | |
methodVisitor.visitLineNumber(53, label6); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "gson", "Lcom/google/gson/Gson;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "filesName", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskReader", "loadAsString", "(Ljava/lang/String;)Ljava/lang/String;", false); | |
methodVisitor.visitTypeInsn(NEW, "the/bytecode/club/bytecodeviewer/Settings$1"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "the/bytecode/club/bytecodeviewer/Settings$1", "<init>", "()V", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "the/bytecode/club/bytecodeviewer/Settings$1", "getType", "()Ljava/lang/reflect/Type;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "com/google/gson/Gson", "fromJson", "(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;", false); | |
methodVisitor.visitTypeInsn(CHECKCAST, "java/util/List"); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
Label label7 = new Label(); | |
methodVisitor.visitJumpInsn(GOTO, label7); | |
methodVisitor.visitLabel(label5); | |
methodVisitor.visitLineNumber(55, label5); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitTypeInsn(NEW, "java/lang/StringBuilder"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Constants", "getBCVDirectory", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "fs", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitLdcInsn("recentfiles.bcv"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskReader", "loadArrayList", "(Ljava/lang/String;Z)Ljava/util/List;", false); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitLabel(label7); | |
methodVisitor.visitLineNumber(57, label7); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitTypeInsn(NEW, "java/io/File"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "pluginsName", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/io/File", "<init>", "(Ljava/lang/String;)V", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/io/File", "exists", "()Z", false); | |
Label label8 = new Label(); | |
methodVisitor.visitJumpInsn(IFEQ, label8); | |
Label label9 = new Label(); | |
methodVisitor.visitLabel(label9); | |
methodVisitor.visitLineNumber(58, label9); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/BytecodeViewer", "gson", "Lcom/google/gson/Gson;"); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "pluginsName", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskReader", "loadAsString", "(Ljava/lang/String;)Ljava/lang/String;", false); | |
methodVisitor.visitTypeInsn(NEW, "the/bytecode/club/bytecodeviewer/Settings$2"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "the/bytecode/club/bytecodeviewer/Settings$2", "<init>", "()V", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "the/bytecode/club/bytecodeviewer/Settings$2", "getType", "()Ljava/lang/reflect/Type;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "com/google/gson/Gson", "fromJson", "(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;", false); | |
methodVisitor.visitTypeInsn(CHECKCAST, "java/util/List"); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
Label label10 = new Label(); | |
methodVisitor.visitJumpInsn(GOTO, label10); | |
methodVisitor.visitLabel(label8); | |
methodVisitor.visitLineNumber(60, label8); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitTypeInsn(NEW, "java/lang/StringBuilder"); | |
methodVisitor.visitInsn(DUP); | |
methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/Constants", "getBCVDirectory", "()Ljava/lang/String;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Constants", "fs", "Ljava/lang/String;"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitLdcInsn("recentplugins.bcv"); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false); | |
methodVisitor.visitInsn(ICONST_0); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "me/konloch/kontainer/io/DiskReader", "loadArrayList", "(Ljava/lang/String;Z)Ljava/util/List;", false); | |
methodVisitor.visitFieldInsn(PUTSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitLabel(label10); | |
methodVisitor.visitLineNumber(62, label10); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentFiles", "Ljava/util/List;"); | |
methodVisitor.visitIntInsn(BIPUSH, 25); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "deduplicateAndTrim", "(Ljava/util/List;I)V", false); | |
Label label11 = new Label(); | |
methodVisitor.visitLabel(label11); | |
methodVisitor.visitLineNumber(63, label11); | |
methodVisitor.visitFieldInsn(GETSTATIC, "the/bytecode/club/bytecodeviewer/Settings", "recentPlugins", "Ljava/util/List;"); | |
methodVisitor.visitIntInsn(BIPUSH, 25); | |
methodVisitor.visitMethodInsn(INVOKESTATIC, "the/bytecode/club/bytecodeviewer/util/MiscUtils", "deduplicateAndTrim", "(Ljava/util/List;I)V", false); | |
methodVisitor.visitLabel(label1); | |
methodVisitor.visitLineNumber(68, label1); | |
Label label12 = new Label(); | |
methodVisitor.visitJumpInsn(GOTO, label12); | |
methodVisitor.visitLabel(label2); | |
methodVisitor.visitLineNumber(65, label2); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 1, new Object[] {"java/lang/Exception"}); | |
methodVisitor.visitVarInsn(ASTORE, 0); | |
Label label13 = new Label(); | |
methodVisitor.visitLabel(label13); | |
methodVisitor.visitLineNumber(67, label13); | |
methodVisitor.visitVarInsn(ALOAD, 0); | |
methodVisitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Exception", "printStackTrace", "()V", false); | |
methodVisitor.visitLabel(label12); | |
methodVisitor.visitLineNumber(69, label12); | |
methodVisitor.visitFrame(Opcodes.F_NEW, 0, new Object[] {}, 0, new Object[] {}); | |
methodVisitor.visitInsn(RETURN); | |
methodVisitor.visitLocalVariable("e", "Ljava/lang/Exception;", null, label13, label12, 0); | |
methodVisitor.visitMaxs(4, 1); | |
methodVisitor.visitEnd(); | |
} | |
classWriter.visitEnd(); | |
return classWriter.toByteArray(); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment