mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 14:30:47 +00:00
localdata fixes
This commit is contained in:
@@ -707,12 +707,12 @@ public class AVM2Code implements Serializable {
|
||||
return s.toString();
|
||||
}
|
||||
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
int i = 0;
|
||||
for (AVM2Instruction instruction : code) {
|
||||
writer.appendNoHilight(Helper.formatAddress(i));
|
||||
writer.appendNoHilight(" ");
|
||||
instruction.toString(writer, constants, new ArrayList<String>()).appendNewLine();
|
||||
instruction.toString(writer, localData).appendNewLine();
|
||||
i++;
|
||||
}
|
||||
return writer;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.abc.avm2;
|
||||
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class CodeStats {
|
||||
if (stats.stackpos > ms) {
|
||||
ms = stats.stackpos;
|
||||
}
|
||||
writer.appendNoHilight(i + ":" + stats.stackpos + (deltastack >= 0 ? "+" + deltastack : deltastack) + "," + stats.scopepos + " " + stats.ins.toString(writer, abc.constants, fullyQualifiedNames)).appendNewLine();
|
||||
writer.appendNoHilight(i + ":" + stats.stackpos + (deltastack >= 0 ? "+" + deltastack : deltastack) + "," + stats.scopepos + " " + stats.ins.toString(writer, LocalData.create(abc.constants, null, fullyQualifiedNames))).appendNewLine();
|
||||
i++;
|
||||
}
|
||||
return writer;
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSource;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
@@ -264,9 +265,9 @@ public class AVM2Instruction implements Serializable, GraphSourceItem {
|
||||
return ignored;
|
||||
}
|
||||
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants, List<String> fullyQualifiedNames) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
writer.appendNoHilight(Helper.formatAddress(offset) + " " + Helper.padSpaceRight(Helper.byteArrToString(getBytes()), 30) + definition.instructionName);
|
||||
writer.appendNoHilight(getParams(constants, fullyQualifiedNames) + getComment());
|
||||
writer.appendNoHilight(getParams(localData.constantsAvm2, localData.fullyQualifiedNames) + getComment());
|
||||
return writer;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +41,12 @@ public abstract class AVM2Item extends GraphTargetItem {
|
||||
return writer.toString();
|
||||
}
|
||||
|
||||
public String toStringSemicoloned(HilightedTextWriter writer, LocalData localData) {
|
||||
return toString(writer, localData) + (needsSemicolon() ? ";" : "");
|
||||
public HilightedTextWriter toStringSemicoloned(HilightedTextWriter writer, LocalData localData) {
|
||||
toString(writer, localData);
|
||||
if (needsSemicolon()) {
|
||||
hilight(";", writer);
|
||||
};
|
||||
return writer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -79,7 +79,7 @@ public class ForEachInAVM2Item extends LoopItem implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : commands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
|
||||
@@ -79,7 +79,7 @@ public class ForInAVM2Item extends LoopItem implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : commands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
|
||||
@@ -58,7 +58,7 @@ public class TryAVM2Item extends AVM2Item implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : tryCommands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
@@ -72,7 +72,7 @@ public class TryAVM2Item extends AVM2Item implements Block {
|
||||
List<GraphTargetItem> commands = catchCommands.get(e);
|
||||
for (GraphTargetItem ti : commands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
@@ -85,7 +85,7 @@ public class TryAVM2Item extends AVM2Item implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : finallyCommands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
|
||||
@@ -37,7 +37,7 @@ public abstract class ActionItem extends GraphTargetItem implements Serializable
|
||||
super(instruction, precedence);
|
||||
}
|
||||
|
||||
public abstract HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants);
|
||||
public abstract HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData);
|
||||
|
||||
protected boolean isEmptyString(GraphTargetItem target) {
|
||||
if (target instanceof DirectValueActionItem) {
|
||||
@@ -51,7 +51,7 @@ public abstract class ActionItem extends GraphTargetItem implements Serializable
|
||||
return false;
|
||||
}
|
||||
|
||||
protected HilightedTextWriter stripQuotes(GraphTargetItem target, ConstantPool constants, HilightedTextWriter writer) {
|
||||
protected HilightedTextWriter stripQuotes(GraphTargetItem target, LocalData localData, HilightedTextWriter writer) {
|
||||
if (target instanceof DirectValueActionItem) {
|
||||
if (((DirectValueActionItem) target).value instanceof String) {
|
||||
return ((DirectValueActionItem) target).hilight((String) ((DirectValueActionItem) target).value, writer);
|
||||
@@ -60,15 +60,10 @@ public abstract class ActionItem extends GraphTargetItem implements Serializable
|
||||
if (target == null) {
|
||||
return writer;
|
||||
} else {
|
||||
return target.toString(writer, constants);
|
||||
return target.toString(writer, localData);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return toString(writer, localData.constants);
|
||||
}
|
||||
|
||||
protected List<GraphSourceItem> toSourceCall(List<Object> localData, SourceGenerator gen, List<GraphTargetItem> list) {
|
||||
List<GraphSourceItem> ret = new ArrayList<>();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class AsciiToCharActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class AsciiToCharActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("chr(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class CallActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class CallActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("call(", writer);
|
||||
stripQuotes(value, constants, writer);
|
||||
stripQuotes(value, localData, writer);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,15 +43,15 @@ public class CallFunctionActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String paramStr = "";
|
||||
stripQuotes(functionName, constants, writer);
|
||||
stripQuotes(functionName, localData, writer);
|
||||
hilight("(", writer);
|
||||
for (int t = 0; t < arguments.size(); t++) {
|
||||
if (t > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
arguments.get(t).toStringNL(writer, LocalData.create(constants));
|
||||
arguments.get(t).toStringNL(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public class CallMethodActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
boolean blankMethod = false;
|
||||
if (methodName instanceof DirectValueActionItem) {
|
||||
if (((DirectValueActionItem) methodName).value instanceof Undefined) {
|
||||
@@ -64,15 +64,15 @@ public class CallMethodActionItem extends ActionItem {
|
||||
if (!blankMethod) {
|
||||
if (scriptObject.precedence > this.precedence) {
|
||||
hilight("(", writer);
|
||||
scriptObject.toString(writer, constants);
|
||||
scriptObject.toString(writer, localData);
|
||||
hilight(")", writer);
|
||||
} else {
|
||||
scriptObject.toString(writer, constants);
|
||||
scriptObject.toString(writer, localData);
|
||||
}
|
||||
hilight(".", writer);
|
||||
stripQuotes(methodName, constants, writer);
|
||||
stripQuotes(methodName, localData, writer);
|
||||
} else {
|
||||
scriptObject.toString(writer, constants);
|
||||
scriptObject.toString(writer, localData);
|
||||
}
|
||||
hilight("(", writer);
|
||||
|
||||
@@ -80,7 +80,7 @@ public class CallMethodActionItem extends ActionItem {
|
||||
if (t > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
arguments.get(t).toStringNL(writer, LocalData.create(constants));
|
||||
arguments.get(t).toStringNL(writer, localData);
|
||||
}
|
||||
|
||||
return hilight(")", writer);
|
||||
|
||||
@@ -46,11 +46,11 @@ public class CastOpActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("(", writer);
|
||||
stripQuotes(constructor, constants, writer);
|
||||
stripQuotes(constructor, localData, writer);
|
||||
hilight(")", writer);
|
||||
return object.toString(writer, LocalData.create(constants));
|
||||
return object.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class CharToAsciiActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class CharToAsciiActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("ord(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,13 +49,13 @@ public class CloneSpriteActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("duplicateMovieClip(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
source.toString(writer, constants);
|
||||
source.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
depth.toString(writer, constants);
|
||||
depth.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -43,8 +44,8 @@ public class DecrementActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
object.toString(writer, constants);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
object.toString(writer, localData);
|
||||
return hilight(" - 1", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -69,14 +70,14 @@ public class DefineLocalActionItem extends ActionItem implements SetTypeActionIt
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("var ", writer);
|
||||
stripQuotes(name, constants, writer);
|
||||
stripQuotes(name, localData, writer);
|
||||
if (value == null) {
|
||||
return writer;
|
||||
}
|
||||
hilight(" = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -34,7 +35,7 @@ public class DefineRegisterActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("var " + identifier, writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,14 +46,14 @@ public class DeleteActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("delete ", writer);
|
||||
if (object == null) {
|
||||
return propertyName.toString(writer, constants);
|
||||
return propertyName.toString(writer, localData);
|
||||
}
|
||||
object.toString(writer, constants);
|
||||
object.toString(writer, localData);
|
||||
hilight(".", writer);
|
||||
return stripQuotes(propertyName, constants, writer);
|
||||
return stripQuotes(propertyName, localData, writer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -86,7 +87,7 @@ public class DirectValueActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toStringNoQuotes(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toStringNoQuotes(HilightedTextWriter writer, LocalData localData) {
|
||||
if (value instanceof Double) {
|
||||
if (Double.compare((double) (Double) value, 0) == 0) {
|
||||
return hilight("0", writer);
|
||||
@@ -127,7 +128,7 @@ public class DirectValueActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (value instanceof Double) {
|
||||
if (Double.compare((double) (Double) value, 0) == 0) {
|
||||
return hilight("0", writer);
|
||||
|
||||
@@ -41,9 +41,9 @@ public class EnumerateActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("enumerate ", writer);
|
||||
return object.toString(writer, LocalData.create(constants));
|
||||
return object.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -35,9 +36,9 @@ public class EvalActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("eval(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ public class ExtendsActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
subclass.toString(writer, LocalData.create(constants));
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
subclass.toString(writer, localData);
|
||||
hilight(" extends ", writer);
|
||||
return stripQuotes(superclass, constants, writer);
|
||||
return stripQuotes(superclass, localData, writer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -47,12 +48,12 @@ public class FSCommand2ActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("FSCommand2(", writer);
|
||||
command.toString(writer, constants);
|
||||
command.toString(writer, localData);
|
||||
for (int t = 0; t < arguments.size(); t++) {
|
||||
hilight(",", writer);
|
||||
arguments.get(t).toString(writer, constants);
|
||||
arguments.get(t).toString(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf3.ActionGetURL;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.List;
|
||||
|
||||
@@ -37,7 +38,7 @@ public class FSCommandActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("fscommand(\"", writer);
|
||||
hilight(Helper.escapeString(command), writer);
|
||||
return hilight("\")", writer);
|
||||
|
||||
@@ -73,14 +73,14 @@ public class FunctionActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (true) {
|
||||
//return writer.appendNoHilight("<func>")
|
||||
}
|
||||
hilight("function", writer);
|
||||
if (calculatedFunctionName != null) {
|
||||
hilight(" ", writer);
|
||||
calculatedFunctionName.toStringNoQuotes(writer, constants);
|
||||
calculatedFunctionName.toStringNoQuotes(writer, localData);
|
||||
} else if (!functionName.equals("")) {
|
||||
hilight(" ", writer);
|
||||
hilight(functionName, writer);
|
||||
@@ -99,7 +99,7 @@ public class FunctionActionItem extends ActionItem {
|
||||
hilight(")", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
writer.appendNoHilight(Graph.graphToString(actions, writer.getIsHighlighted(), false, LocalData.create(constants)));
|
||||
writer.appendNoHilight(Graph.graphToString(actions, writer.getIsHighlighted(), false, localData));
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
return hilight("}", writer);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -44,17 +45,17 @@ public class GetMemberActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (!((memberName instanceof DirectValueActionItem) && (((DirectValueActionItem) memberName).value instanceof String))) {
|
||||
//if(!(functionName instanceof GetVariableActionItem))
|
||||
object.toString(writer, constants);
|
||||
object.toString(writer, localData);
|
||||
hilight("[", writer);
|
||||
stripQuotes(memberName, constants, writer);
|
||||
stripQuotes(memberName, localData, writer);
|
||||
return hilight("]", writer);
|
||||
}
|
||||
object.toString(writer, constants);
|
||||
object.toString(writer, localData);
|
||||
hilight(".", writer);
|
||||
return stripQuotes(memberName, constants, writer);
|
||||
return stripQuotes(memberName, localData, writer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -46,11 +47,11 @@ public class GetPropertyActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (isEmptyString(target)) {
|
||||
return hilight(Action.propertyNames[propertyIndex], writer);
|
||||
}
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
return hilight("." + Action.propertyNames[propertyIndex], writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf4.ActionGetTime;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
@@ -30,7 +31,7 @@ public class GetTimeActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("getTimer()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -40,7 +41,7 @@ public class GetURL2ActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String methodStr = "";
|
||||
if (sendVarsMethod == 1) {
|
||||
methodStr = ",\"GET\"";
|
||||
@@ -50,9 +51,9 @@ public class GetURL2ActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
hilight("getURL(", writer);
|
||||
urlString.toString(writer, constants);
|
||||
urlString.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
targetString.toString(writer, constants);
|
||||
targetString.toString(writer, localData);
|
||||
return hilight(methodStr + ")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf3.ActionGetURL;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.List;
|
||||
|
||||
@@ -29,7 +30,7 @@ public class GetURLActionItem extends ActionItem {
|
||||
public String targetString;
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("getUrl(\"", writer);
|
||||
hilight(Helper.escapeString(urlString) + "\", \"" + Helper.escapeString(targetString), writer);
|
||||
return hilight("\")", writer);
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -47,8 +48,8 @@ public class GetVariableActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
return stripQuotes(name, constants, writer);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return stripQuotes(name, localData, writer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.action.swf4.ActionPush;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -34,7 +35,7 @@ public class GetVersionActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("getVersion()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,13 +49,13 @@ public class GotoFrame2ActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String prefix = "gotoAndStop";
|
||||
if (playFlag) {
|
||||
prefix = "gotoAndPlay";
|
||||
}
|
||||
hilight(prefix + "(", writer);
|
||||
frame.toString(writer, constants);
|
||||
frame.toString(writer, localData);
|
||||
hilight((sceneBiasFlag ? "," + sceneBias : ""), writer);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf3.ActionGotoFrame;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class GotoFrameActionItem extends ActionItem {
|
||||
@@ -32,7 +33,7 @@ public class GotoFrameActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("gotoAndStop(", writer);
|
||||
hilight("" + (frame + 1), writer);
|
||||
return hilight(")", writer);
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf3.ActionGoToLabel;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +34,7 @@ public class GotoLabelActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("gotoAndStop(\"", writer);
|
||||
hilight(Helper.escapeString(label), writer);
|
||||
return hilight("\")", writer);
|
||||
|
||||
@@ -35,14 +35,14 @@ public class ImplementsOpActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
subclass.toString(writer, LocalData.create(constants));
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
subclass.toString(writer, localData);
|
||||
hilight(" implements ", writer);
|
||||
for (int i = 0; i < superclasses.size(); i++) {
|
||||
if (i > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
superclasses.get(i).toString(writer, LocalData.create(constants));
|
||||
superclasses.get(i).toString(writer, localData);
|
||||
}
|
||||
return writer;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -43,8 +44,8 @@ public class IncrementActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
object.toString(writer, constants);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
object.toString(writer, localData);
|
||||
return hilight(" + 1", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -42,13 +43,13 @@ public class InitArrayActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("[", writer);
|
||||
for (int i = 0; i < values.size(); i++) {
|
||||
if (i > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
values.get(i).toString(writer, constants);
|
||||
values.get(i).toString(writer, localData);
|
||||
}
|
||||
return hilight("]", writer);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.decompiler.graph.model.TernarOpItem;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -46,20 +47,20 @@ public class InitObjectActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("{", writer);
|
||||
for (int i = 0; i < values.size(); i++) {
|
||||
if (i > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
names.get(i).toStringNoQuotes(writer, constants); //AS1/2 do not allow quotes in name here
|
||||
names.get(i).toStringNoQuotes(writer, localData); //AS1/2 do not allow quotes in name here
|
||||
hilight(":", writer);
|
||||
if (values.get(i) instanceof TernarOpItem) { //Ternar operator contains ":"
|
||||
hilight("(", writer);
|
||||
values.get(i).toString(writer, constants);
|
||||
values.get(i).toString(writer, localData);
|
||||
hilight(")", writer);
|
||||
} else {
|
||||
values.get(i).toString(writer, constants);
|
||||
values.get(i).toString(writer, localData);
|
||||
}
|
||||
}
|
||||
return hilight("}", writer);
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,7 +51,7 @@ public class LoadMovieActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String methodStr = "";
|
||||
if (method == 1) {
|
||||
methodStr = ",\"GET\"";
|
||||
@@ -59,9 +60,9 @@ public class LoadMovieActionItem extends ActionItem {
|
||||
methodStr = ",\"POST\"";
|
||||
}
|
||||
hilight("loadMovie(", writer);
|
||||
urlString.toString(writer, constants);
|
||||
urlString.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
targetString.toString(writer, constants);
|
||||
targetString.toString(writer, localData);
|
||||
return hilight(methodStr + ")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -52,7 +53,7 @@ public class LoadMovieNumActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String methodStr = "";
|
||||
if (method == 1) {
|
||||
methodStr = ",\"GET\"";
|
||||
@@ -61,9 +62,9 @@ public class LoadMovieNumActionItem extends ActionItem {
|
||||
methodStr = ",\"POST\"";
|
||||
}
|
||||
hilight("loadMovieNum(", writer);
|
||||
urlString.toString(writer, constants);
|
||||
urlString.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
num.toString(writer, constants);
|
||||
num.toString(writer, localData);
|
||||
return hilight(methodStr + ")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,7 +51,7 @@ public class LoadVariablesActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String methodStr = "";
|
||||
if (method == 1) {
|
||||
methodStr = ",\"GET\"";
|
||||
@@ -59,9 +60,9 @@ public class LoadVariablesActionItem extends ActionItem {
|
||||
methodStr = ",\"POST\"";
|
||||
}
|
||||
hilight("loadVariables(", writer);
|
||||
urlString.toString(writer, constants);
|
||||
urlString.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
targetString.toString(writer, constants);
|
||||
targetString.toString(writer, localData);
|
||||
return hilight(methodStr + ")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -52,7 +53,7 @@ public class LoadVariablesNumActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String methodStr = "";
|
||||
if (method == 1) {
|
||||
methodStr = ",\"GET\"";
|
||||
@@ -61,9 +62,9 @@ public class LoadVariablesNumActionItem extends ActionItem {
|
||||
methodStr = ",\"POST\"";
|
||||
}
|
||||
hilight("loadVariablesNum(", writer);
|
||||
urlString.toString(writer, constants);
|
||||
urlString.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
num.toString(writer, constants);
|
||||
num.toString(writer, localData);
|
||||
return hilight(methodStr + ")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class MBAsciiToCharActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class MBAsciiToCharActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("mbchr(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class MBCharToAsciiActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class MBCharToAsciiActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("mbord(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,13 +49,13 @@ public class MBStringExtractActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("mbsubstring(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
index.toString(writer, constants);
|
||||
index.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
count.toString(writer, constants);
|
||||
count.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class MBStringLengthActionItem extends ActionItem {
|
||||
@@ -33,14 +34,14 @@ public class MBStringLengthActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("mblength(", writer);
|
||||
if (value.precedence > precedence) {
|
||||
hilight("(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
hilight(")", writer);
|
||||
} else {
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,7 +49,7 @@ public class NewMethodActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
boolean blankMethod = false;
|
||||
if (methodName instanceof DirectValueActionItem) {
|
||||
if (((DirectValueActionItem) methodName).value instanceof Undefined) {
|
||||
@@ -62,18 +63,18 @@ public class NewMethodActionItem extends ActionItem {
|
||||
if (!blankMethod) {
|
||||
hilight("new ", writer);
|
||||
}
|
||||
scriptObject.toString(writer, constants);
|
||||
scriptObject.toString(writer, localData);
|
||||
if (!blankMethod) {
|
||||
hilight(".", writer);
|
||||
if (methodName instanceof DirectValueActionItem) {
|
||||
if (((DirectValueActionItem) methodName).value instanceof Undefined) {
|
||||
} else if (((DirectValueActionItem) methodName).value instanceof String) {
|
||||
((DirectValueActionItem) methodName).toStringNoQuotes(writer, constants);
|
||||
((DirectValueActionItem) methodName).toStringNoQuotes(writer, localData);
|
||||
} else {
|
||||
methodName.toString(writer, constants);
|
||||
methodName.toString(writer, localData);
|
||||
}
|
||||
} else {
|
||||
methodName.toString(writer, constants);
|
||||
methodName.toString(writer, localData);
|
||||
}
|
||||
}
|
||||
hilight("(", writer);
|
||||
@@ -81,7 +82,7 @@ public class NewMethodActionItem extends ActionItem {
|
||||
if (t > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
arguments.get(t).toString(writer, constants);
|
||||
arguments.get(t).toString(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,15 +46,15 @@ public class NewObjectActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("new ", writer);
|
||||
stripQuotes(objectName, constants, writer);
|
||||
stripQuotes(objectName, localData, writer);
|
||||
hilight("(", writer);
|
||||
for (int t = 0; t < arguments.size(); t++) {
|
||||
if (t > 0) {
|
||||
hilight(",", writer);
|
||||
}
|
||||
arguments.get(t).toString(writer, constants);
|
||||
arguments.get(t).toString(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionNextFrame;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class NextFrameActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("nextFrame()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionPlay;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class PlayActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("play()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.action.swf4.ActionPop;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -33,7 +34,7 @@ public class PopActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return writer;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,8 +51,8 @@ public class PostDecrementActionItem extends ActionItem implements SetTypeAction
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
object.toString(writer, constants);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
object.toString(writer, localData);
|
||||
return hilight("--", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,8 +51,8 @@ public class PostIncrementActionItem extends ActionItem implements SetTypeAction
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
object.toString(writer, constants);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
object.toString(writer, localData);
|
||||
return hilight("++", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionPrevFrame;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class PrevFrameActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("prevFrame()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,11 +51,11 @@ public class PrintActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("print(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
boundingBox.toString(writer, constants);
|
||||
boundingBox.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,11 +51,11 @@ public class PrintAsBitmapActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("printAsBitmap(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
boundingBox.toString(writer, constants);
|
||||
boundingBox.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -49,12 +50,18 @@ public class PrintAsBitmapNumActionItem extends ActionItem {
|
||||
this.boundingBox = boundingBox;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param writer
|
||||
* @param localData
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("printAsBitmapNum(", writer);
|
||||
num.toString(writer, constants);
|
||||
num.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
boundingBox.toString(writer, constants);
|
||||
boundingBox.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -50,11 +51,11 @@ public class PrintNumActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("printNum(", writer);
|
||||
num.toString(writer, constants);
|
||||
num.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
boundingBox.toString(writer, constants);
|
||||
boundingBox.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class RandomNumberActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class RandomNumberActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("random(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class RemoveSpriteActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class RemoveSpriteActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("removeMovieClip(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.ExitItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -44,9 +45,9 @@ public class ReturnActionItem extends ActionItem implements ExitItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("return ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -78,21 +79,21 @@ public class SetMemberActionItem extends ActionItem implements SetTypeActionItem
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (!((objectName instanceof DirectValueActionItem) && (((DirectValueActionItem) objectName).value instanceof String))) {
|
||||
//if(!(functionName instanceof GetVariableActionItem))
|
||||
object.toString(writer, constants);
|
||||
object.toString(writer, localData);
|
||||
hilight("[", writer);
|
||||
stripQuotes(objectName, constants, writer);
|
||||
stripQuotes(objectName, localData, writer);
|
||||
hilight("]", writer);
|
||||
hilight(" = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
object.toString(writer, constants);
|
||||
object.toString(writer, localData);
|
||||
hilight(".", writer);
|
||||
stripQuotes(objectName, constants, writer);
|
||||
stripQuotes(objectName, localData, writer);
|
||||
hilight(" = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class SetPropertyActionItem extends ActionItem implements SetTypeActionItem {
|
||||
@@ -70,14 +71,14 @@ public class SetPropertyActionItem extends ActionItem implements SetTypeActionIt
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (isEmptyString(target)) {
|
||||
hilight(Action.propertyNames[propertyIndex] + " = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight("." + Action.propertyNames[propertyIndex] + " = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class SetTarget2ActionItem extends ActionItem {
|
||||
@@ -33,9 +34,9 @@ public class SetTarget2ActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("tellTarget(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.jpexs.decompiler.flash.action.model;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.List;
|
||||
|
||||
@@ -32,7 +33,7 @@ public class SetTargetActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("tellTarget(\"", writer);
|
||||
hilight(Helper.escapeString(target), writer);
|
||||
return hilight("\")", writer);
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class SetVariableActionItem extends ActionItem implements SetTypeActionItem {
|
||||
@@ -67,16 +68,16 @@ public class SetVariableActionItem extends ActionItem implements SetTypeActionIt
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (name instanceof DirectValueActionItem || name instanceof GetVariableActionItem) {
|
||||
stripQuotes(name, constants, writer);
|
||||
stripQuotes(name, localData, writer);
|
||||
hilight(" = ", writer);
|
||||
return value.toString(writer, constants);
|
||||
return value.toString(writer, localData);
|
||||
} else {
|
||||
hilight("set(", writer);
|
||||
name.toString(writer, constants);
|
||||
name.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StartDragActionItem extends ActionItem {
|
||||
@@ -47,7 +48,7 @@ public class StartDragActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
boolean hasConstrains = true;
|
||||
if (constrain instanceof DirectValueActionItem) {
|
||||
if (Double.compare(EcmaScript.toNumber(constrain.getResult()), 0) == 0) {
|
||||
@@ -55,18 +56,18 @@ public class StartDragActionItem extends ActionItem {
|
||||
}
|
||||
}
|
||||
hilight("startDrag(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
lockCenter.toString(writer, constants);
|
||||
lockCenter.toString(writer, localData);
|
||||
if (hasConstrains) {
|
||||
hilight(",", writer);
|
||||
x1.toString(writer, constants);
|
||||
x1.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
y1.toString(writer, constants);
|
||||
y1.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
x2.toString(writer, constants);
|
||||
x2.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
y2.toString(writer, constants);
|
||||
y2.toString(writer, localData);
|
||||
}
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionStop;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StopActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("stop()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionStopSounds;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StopAllSoundsActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("stopAllSounds()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf4.ActionEndDrag;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StopDragActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("stopDrag()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StoreRegisterActionItem extends ActionItem implements SetTypeActionItem {
|
||||
@@ -67,15 +68,15 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
if (temporary) {
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
} else {
|
||||
if (define) {
|
||||
hilight("var ", writer);
|
||||
}
|
||||
hilight(register.translate() + " = ", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
}
|
||||
return writer;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
|
||||
public class StrictModeActionItem extends ActionItem {
|
||||
|
||||
@@ -29,7 +30,7 @@ public class StrictModeActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("StrictMode(" + mode + ");", writer); //I still don't know how AS source of Strict Mode instruction looks like, assuming this...
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StringExtractActionItem extends ActionItem {
|
||||
@@ -38,12 +39,12 @@ public class StringExtractActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
value.toString(writer, constants);
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
value.toString(writer, localData);
|
||||
hilight(".substr(", writer);
|
||||
index.toString(writer, constants);
|
||||
index.toString(writer, localData);
|
||||
hilight(",", writer);
|
||||
count.toString(writer, constants);
|
||||
count.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class StringLengthActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class StringLengthActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("length(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class TargetPathActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class TargetPathActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("targetPath(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ public class ThrowActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("throw ", writer);
|
||||
return value.toString(writer, LocalData.create(constants));
|
||||
return value.toString(writer, localData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class ToIntegerActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class ToIntegerActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("int(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ public class ToNumberActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("Number(", writer);
|
||||
value.toString(writer, LocalData.create(constants));
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ public class ToStringActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("String(", writer);
|
||||
value.toString(writer, LocalData.create(constants));
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ import com.jpexs.decompiler.flash.action.swf3.ActionToggleQuality;
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class ToggleHighQualityActionItem extends ActionItem {
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("toggleHighQuality()", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
|
||||
public class TraceActionItem extends ActionItem {
|
||||
@@ -32,9 +33,9 @@ public class TraceActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("trace(", writer);
|
||||
value.toString(writer, constants);
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,9 +35,9 @@ public class TypeOfActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("typeof(", writer);
|
||||
value.toString(writer, LocalData.create(constants));
|
||||
value.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -46,9 +47,9 @@ public class UnLoadMovieActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("unloadMovie(", writer);
|
||||
targetString.toString(writer, constants);
|
||||
targetString.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,9 +49,9 @@ public class UnLoadMovieNumActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("unloadMovieNum(", writer);
|
||||
num.toString(writer, constants);
|
||||
num.toString(writer, localData);
|
||||
return hilight(")", writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
|
||||
public class UnsupportedActionItem extends ActionItem {
|
||||
|
||||
@@ -29,7 +30,7 @@ public class UnsupportedActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
return hilight("//Unsupported by decompiler:" + value, writer);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.ContinueItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
@@ -156,12 +157,12 @@ public class ClassActionItem extends ActionItem implements Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("class ", writer);
|
||||
className.toStringNoQuotes(writer, constants);
|
||||
className.toStringNoQuotes(writer, localData);
|
||||
if (extendsOp != null) {
|
||||
hilight(" extends ", writer);
|
||||
extendsOp.toStringNoQuotes(writer, constants);
|
||||
extendsOp.toStringNoQuotes(writer, localData);
|
||||
}
|
||||
if (!implementsOp.isEmpty()) {
|
||||
hilight(" implements ", writer);
|
||||
@@ -171,7 +172,7 @@ public class ClassActionItem extends ActionItem implements Block {
|
||||
hilight(", ", writer);
|
||||
}
|
||||
first = false;
|
||||
Action.getWithoutGlobal(t).toString(writer, constants);
|
||||
Action.getWithoutGlobal(t).toString(writer, localData);
|
||||
}
|
||||
}
|
||||
writer.appendNewLine();
|
||||
@@ -179,14 +180,14 @@ public class ClassActionItem extends ActionItem implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
|
||||
if (constructor != null) {
|
||||
constructor.toString(writer, constants).appendNewLine();
|
||||
constructor.toString(writer, localData).appendNewLine();
|
||||
}
|
||||
|
||||
for (MyEntry<GraphTargetItem, GraphTargetItem> item : vars) {
|
||||
hilight("var ", writer);
|
||||
item.key.toStringNoQuotes(writer, constants);
|
||||
item.key.toStringNoQuotes(writer, localData);
|
||||
hilight(" = ", writer);
|
||||
item.value.toString(writer, constants);
|
||||
item.value.toString(writer, localData);
|
||||
hilight(";", writer).appendNewLine();
|
||||
}
|
||||
for (String v : uninitializedVars) {
|
||||
@@ -196,19 +197,19 @@ public class ClassActionItem extends ActionItem implements Block {
|
||||
}
|
||||
for (MyEntry<GraphTargetItem, GraphTargetItem> item : staticVars) {
|
||||
hilight("static var ", writer);
|
||||
item.key.toStringNoQuotes(writer, constants);
|
||||
item.key.toStringNoQuotes(writer, localData);
|
||||
hilight(" = ", writer);
|
||||
item.value.toString(writer, constants);
|
||||
item.value.toString(writer, localData);
|
||||
hilight(";", writer).appendNewLine();
|
||||
}
|
||||
|
||||
|
||||
for (GraphTargetItem f : functions) {
|
||||
f.toString(writer, constants).appendNewLine();
|
||||
f.toString(writer, localData).appendNewLine();
|
||||
}
|
||||
for (GraphTargetItem f : staticFunctions) {
|
||||
hilight("static ", writer);
|
||||
f.toString(writer, constants).appendNewLine();
|
||||
f.toString(writer, localData).appendNewLine();
|
||||
}
|
||||
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.Loop;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.ContinueItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -64,20 +65,20 @@ public class ForInActionItem extends LoopActionItem implements Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("loop" + loop.id + ":", writer).appendNewLine();
|
||||
hilight("for(", writer);
|
||||
if ((variableName instanceof DirectValueActionItem) && (((DirectValueActionItem) variableName).value instanceof RegisterNumber)) {
|
||||
hilight("var ", writer);
|
||||
}
|
||||
stripQuotes(variableName, constants, writer);
|
||||
stripQuotes(variableName, localData, writer);
|
||||
hilight(" in ", writer);
|
||||
enumVariable.toString(writer, constants);
|
||||
enumVariable.toString(writer, localData);
|
||||
hilight(")", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : commands) {
|
||||
ti.toStringSemicoloned(writer, constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
hilight("}", writer).appendNewLine();
|
||||
|
||||
+3
-3
@@ -46,13 +46,13 @@ public class IfFrameLoadedActionItem extends ActionItem implements Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("ifFrameLoaded(", writer);
|
||||
frame.toString(writer, constants);
|
||||
frame.toString(writer, localData);
|
||||
hilight(")", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
writer.appendNoHilight(Graph.graphToString(actions, writer.getIsHighlighted(), false, LocalData.create(constants)));
|
||||
writer.appendNoHilight(Graph.graphToString(actions, writer.getIsHighlighted(), false, localData));
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
return hilight("}", writer);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -43,9 +44,9 @@ public class InterfaceActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("interface ", writer);
|
||||
name.toStringNoQuotes(writer, constants);
|
||||
name.toStringNoQuotes(writer, localData);
|
||||
boolean first = true;
|
||||
if (!superInterfaces.isEmpty()) {
|
||||
hilight(" extends ", writer);
|
||||
@@ -55,7 +56,7 @@ public class InterfaceActionItem extends ActionItem {
|
||||
hilight(", ", writer);
|
||||
}
|
||||
first = false;
|
||||
Action.getWithoutGlobal(ti).toStringNoQuotes(writer, constants);
|
||||
Action.getWithoutGlobal(ti).toStringNoQuotes(writer, localData);
|
||||
}
|
||||
writer.appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -41,14 +42,14 @@ public class TellTargetActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("tellTarget(", writer);
|
||||
target.toString(writer, constants);
|
||||
target.toString(writer, localData);
|
||||
hilight(")", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : commands) {
|
||||
ti.toString(writer, constants).appendNewLine();
|
||||
ti.toString(writer, localData).appendNewLine();
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
return hilight("}", writer);
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.ContinueItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -58,13 +59,13 @@ public class TryActionItem extends ActionItem implements Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
hilight("try", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : tryCommands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
@@ -72,14 +73,14 @@ public class TryActionItem extends ActionItem implements Block {
|
||||
for (int e = 0; e < catchExceptions.size(); e++) {
|
||||
writer.appendNewLine();
|
||||
hilight("catch(", writer);
|
||||
catchExceptions.get(e).toStringNoQuotes(writer, constants);
|
||||
catchExceptions.get(e).toStringNoQuotes(writer, localData);
|
||||
hilight(")", writer).appendNewLine();
|
||||
hilight("{", writer).appendNewLine();
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
List<GraphTargetItem> commands = catchCommands.get(e);
|
||||
for (GraphTargetItem ti : commands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
@@ -92,7 +93,7 @@ public class TryActionItem extends ActionItem implements Block {
|
||||
hilight(Graph.INDENTOPEN, writer).appendNewLine();
|
||||
for (GraphTargetItem ti : finallyCommands) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
hilight(Graph.INDENTCLOSE, writer).appendNewLine();
|
||||
@@ -150,7 +151,7 @@ public class TryActionItem extends ActionItem implements Block {
|
||||
String catchName = null;
|
||||
if (catchExceptions != null) {
|
||||
if (!catchExceptions.isEmpty()) {
|
||||
catchName = catchExceptions.get(0).toStringNoQuotes(false, new ConstantPool(asGenerator.getConstantPool()));
|
||||
catchName = catchExceptions.get(0).toStringNoQuotes(false, LocalData.create(new ConstantPool(asGenerator.getConstantPool())));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -48,9 +48,8 @@ public class WithActionItem extends ActionItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, ConstantPool constants) {
|
||||
public HilightedTextWriter toString(HilightedTextWriter writer, LocalData localData) {
|
||||
String ret;
|
||||
LocalData localData = LocalData.create(constants);
|
||||
hilight("with(", writer);
|
||||
scope.toString(writer, localData);
|
||||
hilight(")", writer).appendNewLine();
|
||||
|
||||
@@ -121,6 +121,7 @@ import com.jpexs.decompiler.graph.model.ContinueItem;
|
||||
import com.jpexs.decompiler.graph.model.DoWhileItem;
|
||||
import com.jpexs.decompiler.graph.model.ForItem;
|
||||
import com.jpexs.decompiler.graph.model.IfItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import com.jpexs.decompiler.graph.model.NotItem;
|
||||
import com.jpexs.decompiler.graph.model.OrItem;
|
||||
import com.jpexs.decompiler.graph.model.ParenthesisItem;
|
||||
@@ -409,12 +410,12 @@ public class ActionScriptParser {
|
||||
if (nameStr instanceof GetMemberActionItem) {
|
||||
GetMemberActionItem mem = (GetMemberActionItem) nameStr;
|
||||
if (mem.memberName instanceof DirectValueActionItem) {
|
||||
classNameStr = ((DirectValueActionItem) mem.memberName).toStringNoQuotes(false, new ConstantPool(constantPool));
|
||||
classNameStr = ((DirectValueActionItem) mem.memberName).toStringNoQuotes(false, LocalData.create(new ConstantPool(constantPool)));
|
||||
}
|
||||
} else if (nameStr instanceof GetVariableActionItem) {
|
||||
GetVariableActionItem var = (GetVariableActionItem) nameStr;
|
||||
if (var.name instanceof DirectValueActionItem) {
|
||||
classNameStr = ((DirectValueActionItem) var.name).toStringNoQuotes(false, new ConstantPool(constantPool));
|
||||
classNameStr = ((DirectValueActionItem) var.name).toStringNoQuotes(false, LocalData.create(new ConstantPool(constantPool)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
package com.jpexs.decompiler.flash.action.swf4;
|
||||
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.model.ConstantPool;
|
||||
import com.jpexs.decompiler.flash.action.model.DirectValueActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.EvalActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.GetVariableActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.GetVersionActionItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
@@ -41,7 +41,7 @@ public class ActionGetVariable extends Action {
|
||||
@Override
|
||||
public void translate(Stack<GraphTargetItem> stack, List<GraphTargetItem> output, java.util.HashMap<Integer, String> regNames, HashMap<String, GraphTargetItem> variables, HashMap<String, GraphTargetItem> functions, int staticOperation, String path) {
|
||||
GraphTargetItem name = stack.pop();
|
||||
GraphTargetItem computedVal = variables.get(name.toStringNoQuotes(false, (ConstantPool) null));
|
||||
GraphTargetItem computedVal = variables.get(name.toStringNoQuotes(false, LocalData.create(null)));
|
||||
if (name instanceof DirectValueActionItem && ((DirectValueActionItem) name).value.equals("/:$version")) {
|
||||
stack.push(new GetVersionActionItem(this));
|
||||
} else if (!(name instanceof DirectValueActionItem) && !(name instanceof GetVariableActionItem)) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.jpexs.decompiler.flash.action.model.TemporaryRegister;
|
||||
import com.jpexs.decompiler.flash.action.model.operations.PreDecrementActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.operations.PreIncrementActionItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
@@ -49,7 +50,7 @@ public class ActionSetVariable extends Action implements StoreTypeAction {
|
||||
public void translate(Stack<GraphTargetItem> stack, List<GraphTargetItem> output, java.util.HashMap<Integer, String> regNames, HashMap<String, GraphTargetItem> variables, HashMap<String, GraphTargetItem> functions, int staticOperation, String path) {
|
||||
GraphTargetItem value = stack.pop().getThroughDuplicate();
|
||||
GraphTargetItem name = stack.pop();
|
||||
variables.put(name.toStringNoQuotes(false, (ConstantPool) null), value);
|
||||
variables.put(name.toStringNoQuotes(false, LocalData.create(null)), value);
|
||||
if (value instanceof IncrementActionItem) {
|
||||
GraphTargetItem obj = ((IncrementActionItem) value).object;
|
||||
if (!stack.isEmpty()) {
|
||||
@@ -125,6 +126,6 @@ public class ActionSetVariable extends Action implements StoreTypeAction {
|
||||
if (stack.size() < 2) {
|
||||
return null;
|
||||
}
|
||||
return stack.get(stack.size() - 2).toStringNoQuotes(false, cpool);
|
||||
return stack.get(stack.size() - 2).toStringNoQuotes(false, LocalData.create(cpool));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.jpexs.decompiler.flash.action.swf5;
|
||||
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.model.CallFunctionActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.ConstantPool;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -45,7 +45,7 @@ public class ActionCallFunction extends Action {
|
||||
args.add(stack.pop());
|
||||
}
|
||||
CallFunctionActionItem cft = new CallFunctionActionItem(this, functionName, args);
|
||||
cft.calculatedFunction = functions.get(functionName.toStringNoQuotes(false, (ConstantPool) null));
|
||||
cft.calculatedFunction = functions.get(functionName.toStringNoQuotes(false, LocalData.create(null)));
|
||||
stack.push(cft);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
package com.jpexs.decompiler.flash.action.swf5;
|
||||
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.model.ConstantPool;
|
||||
import com.jpexs.decompiler.flash.action.model.DefineLocalActionItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
@@ -39,7 +39,7 @@ public class ActionDefineLocal extends Action {
|
||||
public void translate(Stack<GraphTargetItem> stack, List<GraphTargetItem> output, java.util.HashMap<Integer, String> regNames, HashMap<String, GraphTargetItem> variables, HashMap<String, GraphTargetItem> functions, int staticOperation, String path) {
|
||||
GraphTargetItem value = stack.pop();
|
||||
GraphTargetItem name = stack.pop();
|
||||
variables.put(name.toStringNoQuotes(false, (ConstantPool) null), value);
|
||||
variables.put(name.toStringNoQuotes(false, LocalData.create(null)), value);
|
||||
output.add(new DefineLocalActionItem(this, name, value));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2160,7 +2160,7 @@ public class Graph {
|
||||
HilightedTextWriter writer = new HilightedTextWriter(highlight);
|
||||
for (GraphTargetItem ti : tree) {
|
||||
if (!ti.isEmpty()) {
|
||||
ti.toStringSemicoloned(writer, localData.constants).appendNewLine();
|
||||
ti.toStringSemicoloned(writer, localData).appendNewLine();
|
||||
}
|
||||
}
|
||||
String[] parts = writer.toString().split("\r\n");
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user