diff --git a/jadx-gui/src/main/java/jadx/gui/JadxWrapper.java b/jadx-gui/src/main/java/jadx/gui/JadxWrapper.java index 799f5556d..86b590858 100644 --- a/jadx-gui/src/main/java/jadx/gui/JadxWrapper.java +++ b/jadx-gui/src/main/java/jadx/gui/JadxWrapper.java @@ -149,6 +149,13 @@ public class JadxWrapper { .orElse(null); } + public @Nullable JavaClass searchJavaClassByOrigClassName(String fullName) { + return decompiler.getClasses().stream() + .filter(cls -> cls.getClassNode().getClassInfo().getFullName().equals(fullName)) + .findFirst() + .orElse(null); + } + /** * @param rawName Full raw name of an outer class. Inner classes are not supported. */ diff --git a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java index 03cb9eacc..503185d87 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java @@ -208,14 +208,17 @@ public class MainWindow extends JFrame { private void handleSelectClassOption() { if (settings.getCmdSelectClass() != null) { JavaNode javaNode = wrapper.searchJavaClassByClassName(settings.getCmdSelectClass()); + if (javaNode == null) { + javaNode = wrapper.searchJavaClassByOrigClassName(settings.getCmdSelectClass()); + } if (javaNode == null) { JOptionPane.showMessageDialog(this, NLS.str("msg.cmd_select_class_error", settings.getCmdSelectClass()), NLS.str("error_dialog.title"), JOptionPane.ERROR_MESSAGE); - } else { - JNode node = cacheObject.getNodeCache().makeFrom(javaNode); - tabbedPane.codeJump(new JumpPosition(node.getRootClass(), node.getLine())); + return; } + JNode node = cacheObject.getNodeCache().makeFrom(javaNode); + tabbedPane.codeJump(new JumpPosition(node.getRootClass(), node.getLine())); } }