diff --git a/trunk/src/com/jpexs/asdec/abc/ABC.java b/trunk/src/com/jpexs/asdec/abc/ABC.java index 7f5428381..c503af470 100644 --- a/trunk/src/com/jpexs/asdec/abc/ABC.java +++ b/trunk/src/com/jpexs/asdec/abc/ABC.java @@ -15,7 +15,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - package com.jpexs.asdec.abc; import com.jpexs.asdec.Main; @@ -36,7 +35,6 @@ import java.io.*; import java.util.ArrayList; import java.util.List; - public class ABC { public int major_version = 0; @@ -194,7 +192,7 @@ public class ABC { } bodies[i].traits = ais.readTraits(); /*try { - bodies[i].code.clearCode(constants, bodies[i]); + bodies[i].code.clearCode(constants, bodies[i]); } catch (ConvertException ignored) { } */ } @@ -517,8 +515,9 @@ public class ABC { //class header String classHeader = instance_info[i].getClassHeaderStr(constants); - if (classHeader.startsWith("private ")) + if (classHeader.startsWith("private ")) { classHeader = "public " + classHeader.substring("private ".length()); + } out.println(IDENT_STRING + classHeader); out.println(IDENT_STRING + "{"); @@ -687,13 +686,12 @@ public class ABC { output.println("MethodBody[" + i + "]:"); //+ bodies[i].toString(this, constants, method_info)); } } - public static final String[] reservedWords = { - "as", "break", "case", "catch", "class", "const", "continue", /*"default",*/ "delete", "do", "each", "else", - "extends", "false", "finally", "for", "function", "if", "implements", "import", "in", "instanceof", - "interface", "internal", "is", "native", "new", "null", "package", "private", "protected", "public", - "return", "super", "switch", "this", "throw", "true", "try", "typeof", "use", "var", /*"void",*/ "while", - "with"}; + "as", "break", "case", "catch", "class", "const", "continue", /*"default",*/ "delete", "do", "each", "else", + "extends", "false", "finally", "for", "function", "if", "implements", "import", "in", "instanceof", + "interface", "internal", "is", "native", "new", "null", "package", "private", "protected", "public", + "return", "super", "switch", "this", "throw", "true", "try", "typeof", "use", "var", /*"void",*/ "while", + "with"}; public int unknownCount = 0; public void cleanOneName(int index) { @@ -733,20 +731,109 @@ public class ABC { } } - public List findMultinameUsage(int multinameIndex){ - List ret=new ArrayList(); - for(int i=0;i findMultinameUsage(int multinameIndex) { + List ret = new ArrayList(); + List bodyIndices = new ArrayList(); + List subTraitBodyIndices = new ArrayList(); + List subTraitIndexIndices = new ArrayList(); + for (int i = 0; i < bodies.length; i++) { + for(int t=0;t usages=abc.findMultinameUsage(multinameIndex); - for(int bodyIndex:usages){ - for(int c=0;c usages=abc.findMultinameUsage(multinameIndex); + for(Usage u:usages){ + usageListModel.addElement(u); } usageList=new JList(usageListModel); gotoButton.setActionCommand("GOTO"); diff --git a/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java b/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java index 8009093ff..5a4b35163 100644 --- a/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java +++ b/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java @@ -72,4 +72,12 @@ public class TraitSlotConst extends Trait { return modifier + getNameValueStr(constants); } + public boolean isConst(){ + return kindType == TRAIT_CONST; + } + + public boolean isVar(){ + return kindType == TRAIT_SLOT; + } + }