From 311d1671eb8ea1d98a8d9b92edf976ccc8358aed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Mon, 8 Mar 2021 18:31:25 +0100 Subject: [PATCH] Goto definition of Vector parameter Fixed old ABC usage --- .../jpexs/decompiler/flash/gui/abc/ABCPanel.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index a0caa27ef..12c2b49d7 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -1131,12 +1131,17 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener usages = usedAbcRef.getVal().findMultinameDefinition(multinameIndex); Multiname m = usedAbc.constants.getMultiname(multinameIndex); if (m == null) { return false; } + if (m.kind == Multiname.TYPENAME) { //Assuming it's a Vector with single parameter + multinameIndex = m.params[0]; + m = usedAbc.constants.getMultiname(multinameIndex); + } + List usages = usedAbc.findMultinameDefinition(multinameIndex); + //search other ABC tags if this is not private multiname if (m.getSingleNamespaceIndex(usedAbc.constants) > 0 && usedAbc.constants.getNamespace(m.getSingleNamespaceIndex(usedAbc.constants)).kind != Namespace.KIND_PRIVATE) { for (ABCContainerTag at : getAbcList()) { @@ -1178,9 +1183,15 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener -1) { - List usages = abc.findMultinameDefinition(multinameIndex); Multiname m = usedAbc.constants.getMultiname(multinameIndex); + if (m.kind == Multiname.TYPENAME) { //Assuming it's a Vector with single parameter + multinameIndex = m.params[0]; + m = usedAbc.constants.getMultiname(multinameIndex); + } + + List usages = usedAbc.findMultinameDefinition(multinameIndex); + //search other ABC tags if this is not private multiname if (m.getSingleNamespaceIndex(usedAbc.constants) > 0 && m.getSingleNamespace(usedAbc.constants).kind != Namespace.KIND_PRIVATE) { for (ABCContainerTag at : getAbcList()) {