show inner data of the actions in dumpview

This commit is contained in:
honfika
2014-08-15 19:13:59 +02:00
parent f84e4d7336
commit 923698cc7f
4 changed files with 10 additions and 3 deletions
@@ -87,7 +87,7 @@ public class ActionIf extends Action {
@Override
public String toString() {
return "ActionIf";
return "ActionIf " + offset;
}
@Override
@@ -26,6 +26,7 @@ import com.jpexs.decompiler.flash.action.parser.ParseException;
import com.jpexs.decompiler.flash.action.parser.pcode.ASMParsedSymbol;
import com.jpexs.decompiler.flash.action.parser.pcode.FlasmLexer;
import com.jpexs.decompiler.flash.configuration.Configuration;
import com.jpexs.decompiler.flash.dumpview.DumpInfo;
import com.jpexs.decompiler.flash.ecma.Null;
import com.jpexs.decompiler.flash.ecma.Undefined;
import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode;
@@ -77,7 +78,9 @@ public class ActionPush extends Action {
super(0x96, actionLength);
int type;
values = new ArrayList<>();
sis = new SWFInputStream(sis.getSwf(), sis.readBytesEx(actionLength, "actionPush"));
DumpInfo di = sis.dumpInfo;
sis = sis.getLimitedStream(actionLength);
sis.dumpInfo = di;
try {
while (sis.available() > 0) {
type = sis.readUI8("type");
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.SWF;
import com.jpexs.decompiler.flash.SWFInputStream;
import com.jpexs.decompiler.flash.action.Action;
import com.jpexs.decompiler.flash.action.ActionListReader;
import com.jpexs.decompiler.flash.action.model.ConstantPool;
import com.jpexs.decompiler.flash.configuration.Configuration;
import com.jpexs.decompiler.flash.dumpview.DumpInfo;
import com.jpexs.decompiler.flash.dumpview.DumpInfoSwfNode;
@@ -223,6 +224,9 @@ public class DumpTree extends JTree implements ActionListener {
for (Action action : actions) {
DumpInfo di = new DumpInfo(action.toString(), "Action", null, action.getAddress(), action.getTotalActionLength());
di.parent = dumpInfo;
rri.dumpInfo = di;
rri.seek(action.getAddress());
rri.readAction(new ConstantPool());
dumpInfo.getChildInfos().add(di);
}
} catch (IOException | InterruptedException ex) {
@@ -93,7 +93,7 @@ public class DumpTreeModel implements TreeModel {
@Override
public int getChildCount(Object o) {
DumpInfo di = (DumpInfo) o;
DumpInfo di = (DumpInfo) o;
if (di.tagToResolve != null) {
TagStub tagStub = di.tagToResolve;
try {