diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java index 4bd0bae00..109d2da75 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java @@ -85,8 +85,31 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile @Test public void testCompoundAssignments() { - decompileMethod("classic_air", "testCompoundAssignments", "var a:int = 0;\r\n" - + "trace(a += 10);\r\n", + decompileMethod("classic_air", "testCompoundAssignments", "var b:* = [10,20,30];\r\n" + + "var a:int = 0;\r\n" + + "trace(\"a += 5\");\r\n" + + "a += 5;\r\n" + + "trace(\"arr[call()] = arr[call()] + 2;\");\r\n" + + "b[calc()] = b[calc()] + 2;\r\n" + + "var t:MyTest = new MyTest();\r\n" + + "trace(\"t.attr *= 10\");\r\n" + + "t.attr *= 10;\r\n" + + "trace(\"attr -= 5\");\r\n" + + "attr -= 5;\r\n" + + "trace(\"arr[2] += 5\");\r\n" + + "b[2] += 5;\r\n" + + "trace(\"arr[call()] /= 5\");\r\n" + + "b[calc()] /= 5;\r\n" + + "trace(\"arr[call()][call()] &= 10;\");\r\n" + + "b[calc()][calc()] &= 10;\r\n" + + "try\r\n" + + "{\r\n" + + "trace(\"in try\");\r\n" + + "}\r\n" + + "catch(e:Error)\r\n" + + "{\r\n" + + "trace(e.message);\r\n" + + "}\r\n", false); } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java index d61a3b019..c286edf22 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java @@ -85,8 +85,31 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes @Test public void testCompoundAssignments() { - decompileMethod("classic", "testCompoundAssignments", "var a:int = 0;\r\n" - + "trace(a = a + 10);\r\n", + decompileMethod("classic", "testCompoundAssignments", "var b:* = [10,20,30];\r\n" + + "var a:int = 0;\r\n" + + "trace(\"a += 5\");\r\n" + + "a += 5;\r\n" + + "trace(\"arr[call()] = arr[call()] + 2;\");\r\n" + + "b[this.calc()] = b[this.calc()] + 2;\r\n" + + "var t:MyTest = new MyTest();\r\n" + + "trace(\"t.attr *= 10\");\r\n" + + "t.attr *= 10;\r\n" + + "trace(\"attr -= 5\");\r\n" + + "this.attr -= 5;\r\n" + + "trace(\"arr[2] += 5\");\r\n" + + "b[2] += 5;\r\n" + + "trace(\"arr[call()] /= 5\");\r\n" + + "b[this.calc()] = b[this.calc()] / 5;\r\n" + + "trace(\"arr[call()][call()] &= 10;\");\r\n" + + "b[this.calc()][this.calc()] = b[this.calc()][this.calc()] & 10;\r\n" + + "try\r\n" + + "{\r\n" + + "trace(\"in try\");\r\n" + + "}\r\n" + + "catch(e:Error)\r\n" + + "{\r\n" + + "trace(e.message);\r\n" + + "}\r\n", false); } diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf index 9a1080a8f..8ffeef88c 100644 Binary files a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf and b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf differ diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf index a6bc7bfad..3763caf20 100644 Binary files a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf and b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf differ diff --git a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.old b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.old index 0400aa796..7a99320ad 100644 --- a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.old +++ b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.old @@ -16,7 +16,7 @@ CONFIG::timeStamp - '08.03.2021' + '12.03.2021' CONFIG::air diff --git a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml index 0400aa796..48bbe0213 100644 --- a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml +++ b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml @@ -16,7 +16,7 @@ CONFIG::timeStamp - '08.03.2021' + '13.03.2021' CONFIG::air diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestCompoundAssignments.as b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestCompoundAssignments.as index 300c1fcfc..b7fe4b7c6 100644 --- a/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestCompoundAssignments.as +++ b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestCompoundAssignments.as @@ -11,37 +11,38 @@ package tests public function run():void { - /*var b:* = [10,20,30]; + var b:* = [10,20,30]; var a:int = 0; trace("a += 5"); a += 5; - + trace("arr[call()] = arr[call()] + 2;"); b[calc()] = b[calc()] + 2; var t:MyTest = new MyTest(); - trace("t.attr += 5"); + trace("t.attr *= 10"); t.attr *= 10; - trace("attr += 5"); + trace("attr -= 5"); attr -= 5; trace("arr[2] += 5"); b[2] += 5; - trace("arr[call()] += 5"); + trace("arr[call()] /= 5"); b[calc()] /= 5; + trace("arr[call()][call()] &= 10;"); b[calc()][calc()] &= 10; + //to trigger slot usage try{ trace("in try"); }catch (e:Error){ trace(e.message); - } */ - var a:int = 0; - trace(a += 10); + } + } }