44import org .objectweb .asm .tree .ClassNode ;
55import the .bytecode .club .jda .*;
66import the .bytecode .club .jda .api .ExceptionUI ;
7- import the .bytecode .club .jda .decompilers .CFRDecompiler ;
8- import the .bytecode .club .jda .decompilers .Decompiler ;
9- import the .bytecode .club .jda .decompilers .FernFlowerDecompiler ;
10- import the .bytecode .club .jda .decompilers .ProcyonDecompiler ;
7+ import the .bytecode .club .jda .decompilers .*;
118import the .bytecode .club .jda .decompilers .bytecode .ClassNodeDecompiler ;
129import the .bytecode .club .jda .settings .DecompilerSettings ;
1310import the .bytecode .club .jda .settings .IPersistentWindow ;
@@ -250,28 +247,28 @@ private void initializeMenubar() {
250247 settingsMenu .add (new JSeparator ());
251248
252249 JMenu cfrSettingsMenu = new JMenu ("CFR" );
253- DecompilerSettings cfrSettings = Decompiler .CFR .getSettings ();
250+ DecompilerSettings cfrSettings = Decompilers .CFR .getSettings ();
254251 for (CFRDecompiler .Settings setting : CFRDecompiler .Settings .values ()) {
255252 cfrSettingsMenu .add (cfrSettings .getMenuItem (setting ));
256253 }
257254 settingsMenu .add (cfrSettingsMenu );
258255
259256 JMenu fernflowerSettingMenu = new JMenu ("FernFlower" );
260- DecompilerSettings fernflowerSettings = Decompiler .FERNFLOWER .getSettings ();
261- for (FernFlowerDecompiler .Settings setting : FernFlowerDecompiler .Settings .values ()) {
257+ DecompilerSettings fernflowerSettings = Decompilers .FERNFLOWER .getSettings ();
258+ for (FernflowerDecompiler .Settings setting : FernflowerDecompiler .Settings .values ()) {
262259 fernflowerSettingMenu .add (fernflowerSettings .getMenuItem (setting ));
263260 }
264261 settingsMenu .add (fernflowerSettingMenu );
265262
266263 JMenu procyonSettingsMenu = new JMenu ("Procyon" );
267- DecompilerSettings procyonSettings = Decompiler .PROCYON .getSettings ();
264+ DecompilerSettings procyonSettings = Decompilers .PROCYON .getSettings ();
268265 for (ProcyonDecompiler .Settings setting : ProcyonDecompiler .Settings .values ()) {
269266 procyonSettingsMenu .add (procyonSettings .getMenuItem (setting ));
270267 }
271268 settingsMenu .add (procyonSettingsMenu );
272269
273270 JMenu bytecodeSettingsMenu = new JMenu ("Bytecode Decompiler" );
274- DecompilerSettings bytecodeSettings = Decompiler .BYTECODE .getSettings ();
271+ DecompilerSettings bytecodeSettings = Decompilers .BYTECODE .getSettings ();
275272 for (ClassNodeDecompiler .Settings setting : ClassNodeDecompiler .Settings .values ()) {
276273 bytecodeSettingsMenu .add (bytecodeSettings .getMenuItem (setting ));
277274 }
@@ -312,8 +309,8 @@ private void initializeMenubar() {
312309 });
313310 viewMenu .add (mnShowContainer );
314311
315- panelGroup1 .setSelected (allDecompilersRev .get (panelGroup1 ).get (Decompiler .FERNFLOWER ).getModel (), true );
316- panelGroup2 .setSelected (allDecompilersRev .get (panelGroup2 ).get (Decompiler .BYTECODE ).getModel (), true );
312+ panelGroup1 .setSelected (allDecompilersRev .get (panelGroup1 ).get (Decompilers .FERNFLOWER ).getModel (), true );
313+ panelGroup2 .setSelected (allDecompilersRev .get (panelGroup2 ).get (Decompilers .BYTECODE ).getModel (), true );
317314 panelGroup3 .setSelected (allDecompilersRev .get (panelGroup3 ).get (null ).getModel (), true );
318315 }
319316
@@ -374,44 +371,43 @@ public void windowClosing(WindowEvent e) {
374371 dialog .setVisible (true );
375372 }
376373
377- private JMenu generateDecompilerMenu (Decompiler decompiler , int panelId ) {
378- ButtonGroup group = allPanes .get (panelId );
379- JMenu menu = new JMenu (decompiler .getName ());
380- JRadioButtonMenuItem java = new JRadioButtonMenuItem ("Java" );
381- java .addActionListener (listener );
382- JRadioButtonMenuItem bytecode = new JRadioButtonMenuItem ("Bytecode" );
383- JCheckBoxMenuItem editable = new JCheckBoxMenuItem ("Editable" );
384- JSeparator separator = new JSeparator ();
385- menu .add (java );
386- group .add (java );
387- allDecompilers .get (group ).put (java , decompiler );
388- allDecompilersRev .get (group ).put (decompiler , java );
389- menu .add (separator );
390- menu .add (editable );
391- editButtons .get (group ).put (decompiler , editable );
392- return menu ;
393- }
374+ // private JMenu generateDecompilerMenu(Decompiler decompiler, int panelId) {
375+ // ButtonGroup group = allPanes.get(panelId);
376+ // JMenu menu = new JMenu(decompiler.getName());
377+ // JRadioButtonMenuItem java = new JRadioButtonMenuItem("Java");
378+ // java.addActionListener(listener);
379+ // JRadioButtonMenuItem bytecode = new JRadioButtonMenuItem("Bytecode");
380+ // JCheckBoxMenuItem editable = new JCheckBoxMenuItem("Editable");
381+ // JSeparator separator = new JSeparator();
382+ // menu.add(java);
383+ // group.add(java);
384+ // allDecompilers.get(group).put(java, decompiler);
385+ // allDecompilersRev.get(group).put(decompiler, java);
386+ // menu.add(separator);
387+ // menu.add(editable);
388+ // editButtons.get(group).put(decompiler, editable);
389+ // return menu;
390+ // }
394391
395392 private JMenu generatePane (int id ) {
396393 JMenu menu = new JMenu ("Pane " + (id + 1 ));
397- JRadioButtonMenuItem none = new JRadioButtonMenuItem ("None" );
398- JRadioButtonMenuItem bytecode = new JRadioButtonMenuItem ("Bytecode" );
399394 ButtonGroup group = allPanes .get (id );
400395
401- group .add (none );
402- group .add (bytecode );
396+ JRadioButtonMenuItem none = new JRadioButtonMenuItem ("None" );
403397 allDecompilers .get (group ).put (none , null );
404398 allDecompilersRev .get (group ).put (null , none );
405- allDecompilers .get (group ).put (bytecode , Decompiler .BYTECODE );
406- allDecompilersRev .get (group ).put (Decompiler .BYTECODE , bytecode );
407-
399+ group .add (none );
408400 menu .add (none );
409401 menu .add (new JSeparator ());
410- menu .add (generateDecompilerMenu (Decompiler .PROCYON , id ));
411- menu .add (generateDecompilerMenu (Decompiler .CFR , id ));
412- menu .add (generateDecompilerMenu (Decompiler .FERNFLOWER , id ));
413- menu .add (new JSeparator ());
414- menu .add (bytecode );
402+
403+ for (Decompiler decompiler : Decompilers .getAllDecompilers ()) {
404+ JRadioButtonMenuItem button = new JRadioButtonMenuItem (decompiler .getName ());
405+ allDecompilers .get (group ).put (button , decompiler );
406+ allDecompilersRev .get (group ).put (decompiler , button );
407+ group .add (button );
408+ menu .add (button );
409+
410+ }
415411 return menu ;
416412 }
417413
@@ -710,7 +706,7 @@ public void run() {
710706 try {
711707 ClassNode cn1 = JDA .getClassNode (containerName , s );
712708 byte [] bytes = JDA .getClassBytes (containerName , s );
713- String contents = Decompiler .PROCYON .decompileClassNode (cn1 , bytes );
709+ String contents = Decompilers .PROCYON .decompileClassNode (cn1 , bytes );
714710 FileUtils .writeStringToFile (new File (path ), contents , "UTF-8" );
715711 JDA .viewer .setIcon (false );
716712 } catch (Exception e ) {
@@ -727,7 +723,7 @@ public void run() {
727723 try {
728724 ClassNode cn1 = JDA .getClassNode (containerName , s );
729725 byte [] bytes = JDA .getClassBytes (containerName , s );
730- String contents = Decompiler .CFR .decompileClassNode (cn1 , bytes );
726+ String contents = Decompilers .CFR .decompileClassNode (cn1 , bytes );
731727 FileUtils .writeStringToFile (new File (path ), contents , "UTF-8" );
732728 JDA .viewer .setIcon (false );
733729 } catch (Exception e ) {
@@ -744,7 +740,7 @@ public void run() {
744740 try {
745741 ClassNode cn1 = JDA .getClassNode (containerName , s );
746742 byte [] bytes = JDA .getClassBytes (containerName , s );
747- String contents = Decompiler .FERNFLOWER .decompileClassNode (cn1 , bytes );
743+ String contents = Decompilers .FERNFLOWER .decompileClassNode (cn1 , bytes );
748744 FileUtils .writeStringToFile (new File (path ), contents , "UTF-8" );
749745 JDA .viewer .setIcon (false );
750746 } catch (Exception e ) {
@@ -830,7 +826,7 @@ public String getDescription() {
830826 @ Override
831827 public void run () {
832828 try {
833- Decompiler .PROCYON .decompileToZip (path );
829+ Decompilers .PROCYON .decompileToZip (path );
834830 JDA .viewer .setIcon (false );
835831 } catch (Exception e ) {
836832 new ExceptionUI (e );
@@ -844,7 +840,7 @@ public void run() {
844840 @ Override
845841 public void run () {
846842 try {
847- Decompiler .CFR .decompileToZip (path );
843+ Decompilers .CFR .decompileToZip (path );
848844 JDA .viewer .setIcon (false );
849845 } catch (Exception e ) {
850846 new ExceptionUI (e );
@@ -858,7 +854,7 @@ public void run() {
858854 @ Override
859855 public void run () {
860856 try {
861- Decompiler .FERNFLOWER .decompileToZip (path );
857+ Decompilers .FERNFLOWER .decompileToZip (path );
862858 JDA .viewer .setIcon (false );
863859 } catch (Exception e ) {
864860 new ExceptionUI (e );
0 commit comments