Issue #216 AS2 field order fix

This commit is contained in:
Jindra Pet��k
2013-07-09 17:00:10 +02:00
parent fa8b78da09
commit e626930316
3 changed files with 19 additions and 13 deletions
@@ -17,6 +17,7 @@
package com.jpexs.decompiler.flash.action;
import com.jpexs.decompiler.flash.DisassemblyListener;
import com.jpexs.decompiler.flash.KeyValue;
import com.jpexs.decompiler.flash.SWF;
import com.jpexs.decompiler.flash.SWFInputStream;
import com.jpexs.decompiler.flash.SWFOutputStream;
@@ -985,8 +986,8 @@ public class Action implements GraphSourceItem {
List<GraphTargetItem> ret = new ArrayList<>();
List<GraphTargetItem> functions = new ArrayList<>();
List<GraphTargetItem> staticFunctions = new ArrayList<>();
HashMap<GraphTargetItem, GraphTargetItem> vars = new HashMap<>();
HashMap<GraphTargetItem, GraphTargetItem> staticVars = new HashMap<>();
List<KeyValue<GraphTargetItem, GraphTargetItem>> vars = new ArrayList<>();
List<KeyValue<GraphTargetItem, GraphTargetItem>> staticVars = new ArrayList<>();
GraphTargetItem className;
GraphTargetItem extendsOp = null;
List<GraphTargetItem> implementsOp = new ArrayList<>();
@@ -1143,14 +1144,14 @@ public class Action implements GraphSourceItem {
((FunctionTreeItem) smt.value).calculatedFunctionName = smt.objectName;
functions.add((FunctionTreeItem) smt.value);
} else {
vars.put(smt.objectName, smt.value);
vars.add(new KeyValue<>(smt.objectName, smt.value));
}
} else if (((RegisterNumber) ((DirectValueTreeItem) smt.object).value).number == classReg) {
if (smt.value instanceof FunctionTreeItem) {
((FunctionTreeItem) smt.value).calculatedFunctionName = smt.objectName;
staticFunctions.add((FunctionTreeItem) smt.value);
} else {
staticVars.put(smt.objectName, smt.value);
staticVars.add(new KeyValue<>(smt.objectName, smt.value));
}
} else {
ok = false;