From b5fad1e215321505240b567f9cdf69e56eacadf4 Mon Sep 17 00:00:00 2001 From: YanisBft Date: Sun, 23 May 2021 23:51:38 +0200 Subject: Cleanup with Java 16 (#394) * Cleanup using Java 16 * use Stream.toList()--- .../main/java/cuchaz/enigma/gui/ClassSelector.java | 23 ++++------ .../src/main/java/cuchaz/enigma/gui/Gui.java | 9 ++-- .../main/java/cuchaz/enigma/gui/GuiController.java | 3 +- .../java/cuchaz/enigma/gui/config/LookAndFeel.java | 19 +++------ .../java/cuchaz/enigma/gui/dialog/FontDialog.java | 5 +-- .../cuchaz/enigma/gui/dialog/ProgressDialog.java | 5 +-- .../cuchaz/enigma/gui/dialog/SearchDialog.java | 49 ++++++++++------------ .../java/cuchaz/enigma/gui/panels/EditorPanel.java | 15 ++----- .../cuchaz/enigma/gui/panels/StructurePanel.java | 8 ++-- .../enigma/gui/renderer/CallsTreeCellRenderer.java | 8 ++-- .../renderer/ImplementationsTreeCellRenderer.java | 8 ++-- .../gui/renderer/InheritanceTreeCellRenderer.java | 2 +- 12 files changed, 57 insertions(+), 97 deletions(-) (limited to 'enigma-swing/src') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java index 91c9705b..7044106b 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java @@ -63,8 +63,7 @@ public class ClassSelector extends JTree { if (selectionListener != null && event.getClickCount() == 2) { // get the selected node TreePath path = getSelectionPath(); - if (path != null && path.getLastPathComponent() instanceof ClassSelectorClassNode) { - ClassSelectorClassNode node = (ClassSelectorClassNode) path.getLastPathComponent(); + if (path != null && path.getLastPathComponent() instanceof ClassSelectorClassNode node) { selectionListener.onSelectClass(node.getObfEntry()); } } @@ -105,8 +104,7 @@ public class ClassSelector extends JTree { TreePath path = getSelectionPath(); Object realPath = path.getLastPathComponent(); - if (realPath != null && realPath instanceof DefaultMutableTreeNode && data != null) { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) realPath; + if (realPath instanceof DefaultMutableTreeNode node && data != null) { TreeNode parentNode = node.getParent(); if (parentNode == null) return; @@ -251,8 +249,7 @@ public class ClassSelector extends JTree { public ClassEntry getSelectedClass() { if (!isSelectionEmpty()) { Object selectedNode = getSelectionPath().getLastPathComponent(); - if (selectedNode instanceof ClassSelectorClassNode) { - ClassSelectorClassNode classNode = (ClassSelectorClassNode) selectedNode; + if (selectedNode instanceof ClassSelectorClassNode classNode) { return classNode.getClassEntry(); } } @@ -262,11 +259,9 @@ public class ClassSelector extends JTree { public String getSelectedPackage() { if (!isSelectionEmpty()) { Object selectedNode = getSelectionPath().getLastPathComponent(); - if (selectedNode instanceof ClassSelectorPackageNode) { - ClassSelectorPackageNode packageNode = (ClassSelectorPackageNode) selectedNode; + if (selectedNode instanceof ClassSelectorPackageNode packageNode) { return packageNode.getPackageName(); - } else if (selectedNode instanceof ClassSelectorClassNode) { - ClassSelectorClassNode classNode = (ClassSelectorClassNode) selectedNode; + } else if (selectedNode instanceof ClassSelectorClassNode classNode) { return classNode.getClassEntry().getPackageName(); } } @@ -321,12 +316,8 @@ public class ClassSelector extends JTree { for (StateEntry entry : expansionState) { switch (entry.state) { - case SELECTED: - tree.addSelectionPath(entry.path); - break; - case EXPANDED: - tree.expandPath(entry.path); - break; + case SELECTED -> tree.addSelectionPath(entry.path); + case EXPANDED -> tree.expandPath(entry.path); } } } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java index aaa04460..8d4fb5be 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java @@ -216,11 +216,9 @@ public class Gui implements LanguageChangeListener { } Object node = path.getLastPathComponent(); - if (node instanceof ClassImplementationsTreeNode) { - ClassImplementationsTreeNode classNode = (ClassImplementationsTreeNode) node; + if (node instanceof ClassImplementationsTreeNode classNode) { controller.navigateTo(classNode.getClassEntry()); - } else if (node instanceof MethodImplementationsTreeNode) { - MethodImplementationsTreeNode methodNode = (MethodImplementationsTreeNode) node; + } else if (node instanceof MethodImplementationsTreeNode methodNode) { controller.navigateTo(methodNode.getMethodEntry()); } } @@ -248,8 +246,7 @@ public class Gui implements LanguageChangeListener { } Object node = path.getLastPathComponent(); - if (node instanceof ReferenceTreeNode) { - ReferenceTreeNode, Entry> referenceNode = ((ReferenceTreeNode, Entry>) node); + if (node instanceof ReferenceTreeNode referenceNode) { if (referenceNode.getReference() != null) { controller.navigateTo(referenceNode.getReference()); } else { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java index f990f98c..aeee242f 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.swing.JOptionPane; @@ -311,7 +310,7 @@ public class GuiController implements ClientPacketHandler { return mapper.getObfResolver().resolveReference(reference, ResolutionStrategy.RESOLVE_CLOSEST) .stream() .flatMap(r -> index.getReferenceTokens(r).stream()) - .collect(Collectors.toList()); + .toList(); } public void openPreviousReference() { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/LookAndFeel.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/LookAndFeel.java index ab9fa2a0..cec3fa1e 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/LookAndFeel.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/LookAndFeel.java @@ -40,20 +40,11 @@ public enum LookAndFeel { try { switch (this) { - case NONE: - UIManager.setLookAndFeel(NONE_LAF); - break; - case DEFAULT: - UIManager.setLookAndFeel(new FlatLightLaf()); - break; - case METAL: - UIManager.setLookAndFeel(new MetalLookAndFeel()); - break; - case DARCULA: - UIManager.setLookAndFeel(new FlatDarkLaf()); - break; - case SYSTEM: - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + case NONE -> UIManager.setLookAndFeel(NONE_LAF); + case DEFAULT -> UIManager.setLookAndFeel(new FlatLightLaf()); + case METAL -> UIManager.setLookAndFeel(new MetalLookAndFeel()); + case DARCULA -> UIManager.setLookAndFeel(new FlatDarkLaf()); + case SYSTEM -> UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } } catch (Exception e) { throw new Error("Failed to set global look and feel", e); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/FontDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/FontDialog.java index 1db8aea2..4e02a666 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/FontDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/FontDialog.java @@ -1,7 +1,6 @@ package cuchaz.enigma.gui.dialog; import java.awt.*; -import java.util.Arrays; import java.util.List; import javax.swing.JButton; @@ -18,14 +17,14 @@ import cuchaz.enigma.utils.I18n; public class FontDialog extends JDialog { - private static final List CATEGORIES = Arrays.asList( + private static final List CATEGORIES = List.of( "Default", "Default 2", "Small", "Editor" ); - private static final List CATEGORY_TEXTS = Arrays.asList( + private static final List CATEGORY_TEXTS = List.of( "fonts.cat.default", "fonts.cat.default2", "fonts.cat.small", diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ProgressDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ProgressDialog.java index 7110fc86..5f6dbdb5 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ProgressDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ProgressDialog.java @@ -93,13 +93,10 @@ public class ProgressDialog implements ProgressListener, AutoCloseable { return progress; }, SwingUtilities::invokeLater).thenAcceptAsync(progress -> { - // TODO use "try (progress)" with Java 9 - try { + try (progress) { runnable.run(progress); } catch (Exception e) { throw new RuntimeException(e); - } finally { - progress.close(); } }); } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/SearchDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/SearchDialog.java index 9ed7339c..053adad8 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/SearchDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/SearchDialog.java @@ -142,30 +142,23 @@ public class SearchDialog { final EntryIndex entryIndex = parent.getController().project.getJarIndex().getEntryIndex(); switch (type) { - default: - case CLASS: - entryIndex.getClasses().parallelStream() - .filter(e -> !e.isInnerClass()) - .map(e -> SearchEntryImpl.from(e, parent.getController())) - .map(SearchUtil.Entry::from) - .sequential() - .forEach(su::add); - break; - case METHOD: - entryIndex.getMethods().parallelStream() - .filter(e -> !e.isConstructor() && !entryIndex.getMethodAccess(e).isSynthetic()) - .map(e -> SearchEntryImpl.from(e, parent.getController())) - .map(SearchUtil.Entry::from) - .sequential() - .forEach(su::add); - break; - case FIELD: - entryIndex.getFields().parallelStream() - .map(e -> SearchEntryImpl.from(e, parent.getController())) - .map(SearchUtil.Entry::from) - .sequential() - .forEach(su::add); - break; + case CLASS -> entryIndex.getClasses().parallelStream() + .filter(e -> !e.isInnerClass()) + .map(e -> SearchEntryImpl.from(e, parent.getController())) + .map(SearchUtil.Entry::from) + .sequential() + .forEach(su::add); + case METHOD -> entryIndex.getMethods().parallelStream() + .filter(e -> !e.isConstructor() && !entryIndex.getMethodAccess(e).isSynthetic()) + .map(e -> SearchEntryImpl.from(e, parent.getController())) + .map(SearchUtil.Entry::from) + .sequential() + .forEach(su::add); + case FIELD -> entryIndex.getFields().parallelStream() + .map(e -> SearchEntryImpl.from(e, parent.getController())) + .map(SearchUtil.Entry::from) + .sequential() + .forEach(su::add); } updateList(); @@ -290,10 +283,10 @@ public class SearchDialog { secondaryName.setToolTipText(value.obf.getFullName()); } - if (value.obf instanceof ClassEntry) { - mainName.setIcon(GuiUtil.getClassIcon(gui, (ClassEntry) value.obf)); - } else if (value.obf instanceof MethodEntry) { - mainName.setIcon(GuiUtil.getMethodIcon((MethodEntry) value.obf)); + if (value.obf instanceof ClassEntry classEntry) { + mainName.setIcon(GuiUtil.getClassIcon(gui, classEntry)); + } else if (value.obf instanceof MethodEntry methodEntry) { + mainName.setIcon(GuiUtil.getMethodIcon(methodEntry)); } else if (value.obf instanceof FieldEntry) { mainName.setIcon(GuiUtil.FIELD_ICON); } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/EditorPanel.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/EditorPanel.java index 8f020b8a..f6564f59 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/EditorPanel.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/EditorPanel.java @@ -305,17 +305,10 @@ public class EditorPanel { public void displayError(ClassHandleError t) { this.setDisplayMode(DisplayMode.ERRORED); - String str; - switch (t.type) { - case DECOMPILE: - str = "editor.decompile_error"; - break; - case REMAP: - str = "editor.remap_error"; - break; - default: - throw new IllegalStateException("unreachable"); - } + String str = switch (t.type) { + case DECOMPILE -> "editor.decompile_error"; + case REMAP -> "editor.remap_error"; + }; this.errorLabel.setText(I18n.translate(str)); this.errorTextArea.setText(t.getStackTrace()); this.errorTextArea.setCaretPosition(0); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java index d8c46614..d6f7e5a7 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java @@ -89,10 +89,10 @@ public class StructurePanel extends JPanel { Component c = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); ParentedEntry entry = ((StructureTreeNode) value).getEntry(); - if (entry instanceof ClassEntry) { - this.setIcon(GuiUtil.getClassIcon(gui, (ClassEntry) entry)); - } else if (entry instanceof MethodEntry) { - this.setIcon(GuiUtil.getMethodIcon((MethodEntry) entry)); + if (entry instanceof ClassEntry classEntry) { + this.setIcon(GuiUtil.getClassIcon(gui, classEntry)); + } else if (entry instanceof MethodEntry methodEntry) { + this.setIcon(GuiUtil.getMethodIcon(methodEntry)); } else if (entry instanceof FieldEntry) { this.setIcon(GuiUtil.FIELD_ICON); } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java index d5cfdab8..0aa6510c 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java @@ -31,10 +31,10 @@ public class CallsTreeCellRenderer extends DefaultTreeCellRenderer { } // if the node represents the called entry } else { - if (value instanceof ClassReferenceTreeNode) { - this.setIcon(GuiUtil.getClassIcon(this.gui, ((ClassReferenceTreeNode) value).getEntry())); - } else if (value instanceof MethodReferenceTreeNode) { - this.setIcon(GuiUtil.getMethodIcon(((MethodReferenceTreeNode) value).getEntry())); + if (value instanceof ClassReferenceTreeNode node) { + this.setIcon(GuiUtil.getClassIcon(this.gui, node.getEntry())); + } else if (value instanceof MethodReferenceTreeNode node) { + this.setIcon(GuiUtil.getMethodIcon(node.getEntry())); } else if (value instanceof FieldReferenceTreeNode) { this.setIcon(GuiUtil.FIELD_ICON); } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java index 2eb7efc4..7bf39005 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java @@ -23,10 +23,10 @@ public class ImplementationsTreeCellRenderer extends DefaultTreeCellRenderer { this.setForeground(UiConfig.getTextColor()); - if (value instanceof ClassImplementationsTreeNode) { - this.setIcon(GuiUtil.getClassIcon(this.gui, ((ClassImplementationsTreeNode) value).getClassEntry())); - } else if (value instanceof MethodImplementationsTreeNode) { - this.setIcon(GuiUtil.getMethodIcon(((MethodImplementationsTreeNode) value).getMethodEntry())); + if (value instanceof ClassImplementationsTreeNode node) { + this.setIcon(GuiUtil.getClassIcon(this.gui, node.getClassEntry())); + } else if (value instanceof MethodImplementationsTreeNode node) { + this.setIcon(GuiUtil.getMethodIcon(node.getMethodEntry())); } return c; diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java index e377b9a3..a1025531 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java @@ -34,7 +34,7 @@ public class InheritanceTreeCellRenderer extends DefaultTreeCellRenderer { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { Component ret = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); - if (!(value instanceof MethodInheritanceTreeNode) || ((MethodInheritanceTreeNode) value).isImplemented()) { + if (!(value instanceof MethodInheritanceTreeNode node) || node.isImplemented()) { ret.setForeground(UiConfig.getTextColor()); ret.setFont(ret.getFont().deriveFont(Font.PLAIN)); if (value instanceof ClassInheritanceTreeNode) { -- cgit v1.2.3