From 334e6be6db8999c13fd16cc5e40b0f27281648d1 Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Sat, 6 Sep 2014 21:51:32 +0200 Subject: [PATCH] donot store empty AVM2 instruction operands array --- .../decompiler/flash/abc/avm2/AVM2Code.java | 34 ++++++++++--------- .../avm2/instructions/AVM2Instruction.java | 10 +++--- .../flash/abc/avm2/model/AVM2Item.java | 2 +- .../flash/abc/avm2/model/BooleanAVM2Item.java | 2 +- .../flash/abc/avm2/model/CoerceAVM2Item.java | 12 +++---- .../abc/avm2/model/LocalRegAVM2Item.java | 8 ++--- .../flash/abc/avm2/model/NanAVM2Item.java | 2 +- .../flash/abc/avm2/model/NullAVM2Item.java | 2 +- .../abc/avm2/model/SetLocalAVM2Item.java | 18 +++++----- .../flash/abc/avm2/model/ThisAVM2Item.java | 2 +- .../abc/avm2/model/UndefinedAVM2Item.java | 2 +- .../avm2/model/operations/AddAVM2Item.java | 4 +-- .../avm2/model/operations/AsTypeAVM2Item.java | 2 +- .../avm2/model/operations/BitAndAVM2Item.java | 2 +- .../avm2/model/operations/BitNotAVM2Item.java | 2 +- .../avm2/model/operations/BitOrAVM2Item.java | 2 +- .../avm2/model/operations/BitXorAVM2Item.java | 2 +- .../avm2/model/operations/DivideAVM2Item.java | 2 +- .../abc/avm2/model/operations/EqAVM2Item.java | 2 +- .../abc/avm2/model/operations/GeAVM2Item.java | 2 +- .../abc/avm2/model/operations/GtAVM2Item.java | 2 +- .../abc/avm2/model/operations/InAVM2Item.java | 2 +- .../model/operations/InstanceOfAVM2Item.java | 2 +- .../avm2/model/operations/IsTypeAVM2Item.java | 2 +- .../avm2/model/operations/LShiftAVM2Item.java | 2 +- .../abc/avm2/model/operations/LeAVM2Item.java | 2 +- .../abc/avm2/model/operations/LtAVM2Item.java | 2 +- .../avm2/model/operations/ModuloAVM2Item.java | 2 +- .../model/operations/MultiplyAVM2Item.java | 2 +- .../avm2/model/operations/NegAVM2Item.java | 2 +- .../avm2/model/operations/NeqAVM2Item.java | 4 +-- .../avm2/model/operations/RShiftAVM2Item.java | 2 +- .../model/operations/StrictEqAVM2Item.java | 2 +- .../model/operations/StrictNeqAVM2Item.java | 4 +-- .../model/operations/SubtractAVM2Item.java | 4 +-- .../avm2/model/operations/TypeOfAVM2Item.java | 2 +- .../model/operations/URShiftAVM2Item.java | 2 +- .../abc/avm2/parser/pcode/ASM3Parser.java | 2 +- .../parser/script/AVM2SourceGenerator.java | 12 +++---- .../script/ExceptionMarkAVM2Instruction.java | 2 +- .../flash/abc/types/MethodBody.java | 2 +- 41 files changed, 88 insertions(+), 84 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index edba83ca1..d0b81fbc8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -796,7 +796,7 @@ public class AVM2Code implements Serializable { di.name = instr.instructionName; } if (instr != null) { - int[] actualOperands; + int[] actualOperands = null; if (instructionCode == 0x1b) { //switch int firstOperand = ais.readS24("firstOperand"); int case_count = ais.readU30("case_count"); @@ -807,21 +807,23 @@ public class AVM2Code implements Serializable { actualOperands[2 + c] = ais.readS24("actualOperand"); } } else { - actualOperands = new int[instr.operands.length]; - for (int op = 0; op < instr.operands.length; op++) { - switch (instr.operands[op] & 0xff00) { - case OPT_U30: - actualOperands[op] = ais.readU30("operand"); - break; - case OPT_U8: - actualOperands[op] = ais.read("operand"); - break; - case OPT_BYTE: - actualOperands[op] = (byte) ais.read("operand"); - break; - case OPT_S24: - actualOperands[op] = ais.readS24("operand"); - break; + if (instr.operands.length > 0) { + actualOperands = new int[instr.operands.length]; + for (int op = 0; op < instr.operands.length; op++) { + switch (instr.operands[op] & 0xff00) { + case OPT_U30: + actualOperands[op] = ais.readU30("operand"); + break; + case OPT_U8: + actualOperands[op] = ais.read("operand"); + break; + case OPT_BYTE: + actualOperands[op] = (byte) ais.read("operand"); + break; + case OPT_S24: + actualOperands[op] = ais.readS24("operand"); + break; + } } } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java index 5267e5d92..6e1ef30f7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java @@ -52,7 +52,7 @@ public class AVM2Instruction implements Serializable, GraphSourceItem { public AVM2Instruction(long offset, InstructionDefinition definition, int[] operands) { this.definition = definition; - this.operands = operands; + this.operands = operands != null && operands.length > 0 ? operands : null; this.offset = offset; } @@ -95,9 +95,11 @@ public class AVM2Instruction implements Serializable, GraphSourceItem { public String toString() { StringBuilder s = new StringBuilder(); s.append(definition.instructionName); - for (int i = 0; i < operands.length; i++) { - s.append(" "); - s.append(operands[i]); + if (operands != null) { + for (int i = 0; i < operands.length; i++) { + s.append(" "); + s.append(operands[i]); + } } return s.toString(); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java index 07d8faecf..00ab61c26 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java @@ -117,7 +117,7 @@ public abstract class AVM2Item extends GraphTargetItem { return toSource(localData, generator); } List ret = toSource(localData, generator); - ret.add(new AVM2Instruction(0, new PopIns(), new int[]{})); + ret.add(new AVM2Instruction(0, new PopIns(), null)); return ret; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java index 513c92b0c..e1e724d86 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java @@ -57,7 +57,7 @@ public class BooleanAVM2Item extends AVM2Item { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, - new AVM2Instruction(0, value ? new PushTrueIns() : new PushFalseIns(), new int[]{}) + new AVM2Instruction(0, value ? new PushTrueIns() : new PushFalseIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java index 6d5beea72..19a70ffc9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java @@ -113,22 +113,22 @@ public class CoerceAVM2Item extends AVM2Item { AVM2Instruction ins; switch (typeObj.toString()) { case "*": - ins = new AVM2Instruction(0, new CoerceAIns(), new int[]{}); + ins = new AVM2Instruction(0, new CoerceAIns(), null); break; case "String": - ins = new AVM2Instruction(0, new CoerceSIns(), new int[]{}); + ins = new AVM2Instruction(0, new CoerceSIns(), null); break; case "Boolean": - ins = new AVM2Instruction(0, new ConvertBIns(), new int[]{}); + ins = new AVM2Instruction(0, new ConvertBIns(), null); break; case "int": - ins = new AVM2Instruction(0, new ConvertIIns(), new int[]{}); + ins = new AVM2Instruction(0, new ConvertIIns(), null); break; case "uint": - ins = new AVM2Instruction(0, new ConvertUIns(), new int[]{}); + ins = new AVM2Instruction(0, new ConvertUIns(), null); break; case "Number": - ins = new AVM2Instruction(0, new ConvertDIns(), new int[]{}); + ins = new AVM2Instruction(0, new ConvertDIns(), null); break; default: int type_index = AVM2SourceGenerator.resolveType(localData, typeObj, ((AVM2SourceGenerator) generator).abc, (((AVM2SourceGenerator) generator).allABCs)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java index 078c4aeda..eade21726 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java @@ -93,16 +93,16 @@ public class LocalRegAVM2Item extends AVM2Item { AVM2Instruction ins; switch (regIndex) { case 0: - ins = new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}); + ins = new AVM2Instruction(0, new GetLocal0Ins(), null); break; case 1: - ins = new AVM2Instruction(0, new GetLocal1Ins(), new int[]{}); + ins = new AVM2Instruction(0, new GetLocal1Ins(), null); break; case 2: - ins = new AVM2Instruction(0, new GetLocal2Ins(), new int[]{}); + ins = new AVM2Instruction(0, new GetLocal2Ins(), null); break; case 3: - ins = new AVM2Instruction(0, new GetLocal3Ins(), new int[]{}); + ins = new AVM2Instruction(0, new GetLocal3Ins(), null); break; default: ins = new AVM2Instruction(0, new GetLocalIns(), new int[]{regIndex}); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java index c21a7e543..1284567c1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java @@ -42,7 +42,7 @@ public class NanAVM2Item extends AVM2Item { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, - new AVM2Instruction(0, new PushNanIns(), new int[]{}) + new AVM2Instruction(0, new PushNanIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java index ceb29cbab..7003a0112 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java @@ -54,7 +54,7 @@ public class NullAVM2Item extends AVM2Item { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, - new AVM2Instruction(0, new PushNullIns(), new int[]{}) + new AVM2Instruction(0, new PushNullIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java index a0a41d61c..fad801495 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java @@ -71,23 +71,23 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig AVM2Instruction ins; switch (regIndex) { case 0: - ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal0Ins(), null); break; case 1: - ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal1Ins(), null); break; case 2: - ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal2Ins(), null); break; case 3: - ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal3Ins(), null); break; default: ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}); break; } return toSourceMerge(localData, generator, value, - new AVM2Instruction(0, new DupIns(), new int[]{}), ins); + new AVM2Instruction(0, new DupIns(), null), ins); } @Override @@ -95,16 +95,16 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig AVM2Instruction ins; switch (regIndex) { case 0: - ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal0Ins(), null); break; case 1: - ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal1Ins(), null); break; case 2: - ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal2Ins(), null); break; case 3: - ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}); + ins = new AVM2Instruction(0, new SetLocal3Ins(), null); break; default: ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java index 71b90415d..a777ef2ce 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java @@ -50,7 +50,7 @@ public class ThisAVM2Item extends AVM2Item { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { - return toSourceMerge(localData, generator, new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}) + return toSourceMerge(localData, generator, new AVM2Instruction(0, new GetLocal0Ins(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java index 0c3c29716..de5bf5bdc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java @@ -64,7 +64,7 @@ public class UndefinedAVM2Item extends AVM2Item { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, - new AVM2Instruction(0, new PushUndefinedIns(), new int[]{}) + new AVM2Instruction(0, new PushUndefinedIns(), null) ); } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java index b7f1f2793..90298c935 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java @@ -75,12 +75,12 @@ public class AddAVM2Item extends BinaryOpItem { IntegerValueAVM2Item iv = (IntegerValueAVM2Item) rightSide; if (iv.value == 1) { return toSourceMerge(localData, generator, leftSide, - new AVM2Instruction(0, new IncrementIns(), new int[]{}) + new AVM2Instruction(0, new IncrementIns(), null) ); } } return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new AddIns(), new int[]{}) + new AVM2Instruction(0, new AddIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java index c8961889e..fa5c7e9e5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java @@ -35,7 +35,7 @@ public class AsTypeAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new AsTypeLateIns(), new int[]{}) + new AVM2Instruction(0, new AsTypeLateIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java index 04ccb2cd8..6c88de315 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java @@ -42,7 +42,7 @@ public class BitAndAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new BitAndIns(), new int[]{}) + new AVM2Instruction(0, new BitAndIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java index f38e1e2de..30133ba69 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java @@ -42,7 +42,7 @@ public class BitNotAVM2Item extends UnaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, value, - new AVM2Instruction(0, new BitNotIns(), new int[]{}) + new AVM2Instruction(0, new BitNotIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java index 1251ad7a8..32fa1acd8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java @@ -42,7 +42,7 @@ public class BitOrAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new BitOrIns(), new int[]{}) + new AVM2Instruction(0, new BitOrIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java index 18d2ebf18..b67f794f4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java @@ -42,7 +42,7 @@ public class BitXorAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new BitXorIns(), new int[]{}) + new AVM2Instruction(0, new BitXorIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java index ee8b14c3f..994554648 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java @@ -69,7 +69,7 @@ public class DivideAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new DivideIns(), new int[]{}) + new AVM2Instruction(0, new DivideIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java index 7b04a3cea..a7738ac1b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java @@ -61,7 +61,7 @@ public class EqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfConditi @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new EqualsIns(), new int[]{}) + new AVM2Instruction(0, new EqualsIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java index bc1b82188..bf9c93385 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java @@ -68,7 +68,7 @@ public class GeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfConditi @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new GreaterEqualsIns(), new int[]{}) + new AVM2Instruction(0, new GreaterEqualsIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java index 6107237d3..2d70752ec 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java @@ -61,7 +61,7 @@ public class GtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfConditi @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new GreaterThanIns(), new int[]{}) + new AVM2Instruction(0, new GreaterThanIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java index d2b33dad6..e83d81008 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java @@ -36,7 +36,7 @@ public class InAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new InIns(), new int[]{}) + new AVM2Instruction(0, new InIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java index 3d098bf70..e5c8589bb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java @@ -36,7 +36,7 @@ public class InstanceOfAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new InstanceOfIns(), new int[]{}) + new AVM2Instruction(0, new InstanceOfIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java index b05840deb..d34775754 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java @@ -36,7 +36,7 @@ public class IsTypeAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new IsTypeLateIns(), new int[]{}) + new AVM2Instruction(0, new IsTypeLateIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java index 5a0b9f123..c103f10e1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java @@ -42,7 +42,7 @@ public class LShiftAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new LShiftIns(), new int[]{}) + new AVM2Instruction(0, new LShiftIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java index d408996a2..606eb7eb1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java @@ -68,7 +68,7 @@ public class LeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfConditi @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new LessEqualsIns(), new int[]{}) + new AVM2Instruction(0, new LessEqualsIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java index aaaeed318..9009114a2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java @@ -61,7 +61,7 @@ public class LtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfConditi @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new LessThanIns(), new int[]{}) + new AVM2Instruction(0, new LessThanIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java index cd4f97fde..0f71cb198 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java @@ -69,7 +69,7 @@ public class ModuloAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new ModuloIns(), new int[]{}) + new AVM2Instruction(0, new ModuloIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java index 75da40289..5c91f004c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java @@ -66,7 +66,7 @@ public class MultiplyAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new MultiplyIns(), new int[]{}) + new AVM2Instruction(0, new MultiplyIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java index 4da9711e3..5666c8e53 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java @@ -42,7 +42,7 @@ public class NegAVM2Item extends UnaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, value, - new AVM2Instruction(0, new NegateIns(), new int[]{}) + new AVM2Instruction(0, new NegateIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java index 97f025486..2d981ddca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java @@ -62,8 +62,8 @@ public class NeqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondit @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new EqualsIns(), new int[]{}), - new AVM2Instruction(0, new NotIns(), new int[]{}) + new AVM2Instruction(0, new EqualsIns(), null), + new AVM2Instruction(0, new NotIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java index 0e4c036f0..548d87932 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java @@ -42,7 +42,7 @@ public class RShiftAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new RShiftIns(), new int[]{}) + new AVM2Instruction(0, new RShiftIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java index cef93a2d1..91519444a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java @@ -64,7 +64,7 @@ public class StrictEqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfC @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}) + new AVM2Instruction(0, new StrictEqualsIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java index 977e2fec7..16d7e0504 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java @@ -65,8 +65,8 @@ public class StrictNeqAVM2Item extends BinaryOpItem implements LogicalOpItem, If @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}), - new AVM2Instruction(0, new NotIns(), new int[]{}) + new AVM2Instruction(0, new StrictEqualsIns(), null), + new AVM2Instruction(0, new NotIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java index 782d6d7d5..f6d0b57e5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java @@ -72,12 +72,12 @@ public class SubtractAVM2Item extends BinaryOpItem { IntegerValueAVM2Item iv = (IntegerValueAVM2Item) rightSide; if (iv.value == 1) { return toSourceMerge(localData, generator, leftSide, - new AVM2Instruction(0, new DecrementIns(), new int[]{}) + new AVM2Instruction(0, new DecrementIns(), null) ); } } return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new SubtractIns(), new int[]{}) + new AVM2Instruction(0, new SubtractIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/TypeOfAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/TypeOfAVM2Item.java index 5102e86fd..74dd60c41 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/TypeOfAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/TypeOfAVM2Item.java @@ -71,7 +71,7 @@ public class TypeOfAVM2Item extends UnaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, value, - new AVM2Instruction(0, new TypeOfIns(), new int[]{}) + new AVM2Instruction(0, new TypeOfIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/URShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/URShiftAVM2Item.java index 8bbd9fc25..f5d035d88 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/URShiftAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/URShiftAVM2Item.java @@ -42,7 +42,7 @@ public class URShiftAVM2Item extends BinaryOpItem { @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, leftSide, rightSide, - new AVM2Instruction(0, new URShiftIns(), new int[]{}) + new AVM2Instruction(0, new URShiftIns(), null) ); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java index e77882fb0..190d3198b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java @@ -889,7 +889,7 @@ public class ASM3Parser { } } if (symb.value.toString().toLowerCase().equals("ffdec_deobfuscatepop")) { - lastIns = new AVM2Instruction(offset, new DeobfuscatePopIns(), new int[0]); + lastIns = new AVM2Instruction(offset, new DeobfuscatePopIns(), null); code.code.add(lastIns); offset += lastIns.getBytes().length; insFound = true; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java index 0c6ccc729..38252c295 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java @@ -1680,7 +1680,7 @@ public class AVM2SourceGenerator implements SourceGenerator { } if (ac == -1) { if (parentConstMinAC == 0) { - mbodyCode.add(0, new AVM2Instruction(0, new GetLocal0Ins(), new int[]{})); + mbodyCode.add(0, new AVM2Instruction(0, new GetLocal0Ins(), null)); mbodyCode.add(1, new AVM2Instruction(0, new ConstructSuperIns(), new int[]{0})); } else { @@ -1689,8 +1689,8 @@ public class AVM2SourceGenerator implements SourceGenerator { } } if (className != null) {//It's method, not (inner) function - mbodyCode.add(0, new AVM2Instruction(0, new GetLocal0Ins(), new int[]{})); - mbodyCode.add(1, new AVM2Instruction(0, new PushScopeIns(), new int[]{})); + mbodyCode.add(0, new AVM2Instruction(0, new GetLocal0Ins(), null)); + mbodyCode.add(1, new AVM2Instruction(0, new PushScopeIns(), null)); } boolean addRet = false; if (!mbodyCode.isEmpty()) { @@ -1703,10 +1703,10 @@ public class AVM2SourceGenerator implements SourceGenerator { } if (addRet) { if (retType.toString().equals("*") || retType.toString().equals("void") || constructor) { - mbodyCode.add(new AVM2Instruction(0, new ReturnVoidIns(), new int[]{})); + mbodyCode.add(new AVM2Instruction(0, new ReturnVoidIns(), null)); } else { - mbodyCode.add(new AVM2Instruction(0, new PushUndefinedIns(), new int[]{})); - mbodyCode.add(new AVM2Instruction(0, new ReturnValueIns(), new int[]{})); + mbodyCode.add(new AVM2Instruction(0, new PushUndefinedIns(), null)); + mbodyCode.add(new AVM2Instruction(0, new ReturnValueIns(), null)); } } mbody.exceptions = localData.exceptions.toArray(new ABCException[localData.exceptions.size()]); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java index 2ef764305..ff86eb685 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java @@ -29,7 +29,7 @@ public class ExceptionMarkAVM2Instruction extends AVM2Instruction { public int exceptionId; public ExceptionMarkAVM2Instruction(int exceptionId, int markType) { - super(0, null, new int[0]); + super(0, null, null); this.markType = markType; this.exceptionId = exceptionId; this.definition = new InstructionDefinition(0, "--mark", new int[0]); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java index 47cfc01c0..9aa208356 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java @@ -203,7 +203,7 @@ public class MethodBody implements Cloneable, Serializable { HashMap localRegNames = getLocalRegNames(abc); writer.startMethod(this.method_info); if (Configuration.showMethodBodyId.get()) { - writer.appendNoHilight("// method body id:"); + writer.appendNoHilight("// method body id: "); writer.appendNoHilight(abc.findBodyIndex(this.method_info)); writer.newLine(); }