diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f5e3ac24..171926247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] ### Fixed - [#2266] StartSound/2 and VideoFrame tags, classNames not taken as dependencies (needed chars) -- [#2275] - Export to FlashDevelop - framerate setting +- [#2275] Export to FlashDevelop - framerate setting +- [#2276] Protected namespaces do not use fully qualified names ## [21.0.2] - 2024-08-12 ### Added @@ -3500,6 +3501,7 @@ Major version of SWF to XML export changed to 2. [alpha 7]: https://github.com/jindrapetrik/jpexs-decompiler/releases/tag/alpha7 [#2266]: https://www.free-decompiler.com/flash/issues/2266 [#2275]: https://www.free-decompiler.com/flash/issues/2275 +[#2276]: https://www.free-decompiler.com/flash/issues/2276 [#2269]: https://www.free-decompiler.com/flash/issues/2269 [#2270]: https://www.free-decompiler.com/flash/issues/2270 [#2221]: https://www.free-decompiler.com/flash/issues/2221 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java index 8445d6ba2..05f7eecc6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java @@ -684,12 +684,10 @@ public class Multiname { if (identifier != null && !identifier.isEmpty()) { return nsname + "::" + name; } - } else { - //??? } } - if (fullyQualifiedNames != null && !fullyQualifiedNames.isEmpty() && fullyQualifiedNames.contains(DottedChain.parseWithSuffix(name))) { + if (nskind == Namespace.KIND_PACKAGE && fullyQualifiedNames != null && !fullyQualifiedNames.isEmpty() && fullyQualifiedNames.contains(DottedChain.parseWithSuffix(name))) { DottedChain dc = getNameWithNamespace(abc.constants, withSuffix); return dontDeobfuscate ? dc.toRawString() : dc.toPrintableString(true); } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3AssembledDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3AssembledDecompileTest.java index 484a45ddf..e6d044322 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3AssembledDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3AssembledDecompileTest.java @@ -35,7 +35,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT @Test public void testActivationProps() { decompileMethod("assembled", "testActivationProps", "var myvar2:int = 10;\r\n", - false); + false); } @Test @@ -45,7 +45,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "trace(\"hey\");\r\n" + "}\r\n", - false); + false); } @Test @@ -53,7 +53,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT decompileMethod("assembled", "testDecrementPrecedence", "var _loc2_:int = 10;\r\n" + "var _loc1_:int = 5;\r\n" + "var _loc3_:* = _loc2_ & (1 << _loc1_) - 1;\r\n", - false); + false); } @Test @@ -79,21 +79,21 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "}\r\n" + "return 5;\r\n", - false); + false); } @Test public void testDoubleDup() { decompileMethod("assembled", "testDoubleDup", "var _loc10_:Rectangle = myprop(_loc5_);\r\n" + "_loc10_.mymethod(-_loc10_.width,-_loc10_.height);\r\n", - false); + false); } @Test public void testDup() { decompileMethod("assembled", "testDup", "var _loc1_:Number;\r\n" + "return 1 - (_loc1_ = 1 - _loc1_ / _loc4_) * _loc1_;\r\n", - false); + false); } @Test @@ -105,7 +105,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "trace(_loc2_);\r\n" + "}\r\n", - false); + false); } @Test @@ -121,7 +121,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "}\r\n" + "}\r\n" + "_loc3_ = 0;\r\n", - false); + false); } @Test @@ -130,14 +130,14 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "_loc6_.methodname(_loc1_,_loc2_,_loc5_);\r\n" + "}\r\n", - false); + false); } @Test public void testIncrement() { decompileMethod("assembled", "testIncrement", "super();\r\n" + "b = a++;\r\n", - false); + false); } @Test @@ -146,13 +146,13 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "somemethod();\r\n" + "}\r\n", - false); + false); } @Test public void testIncrement3() { decompileMethod("assembled", "testIncrement3", "_loc1_.length--;\r\n", - false); + false); } @Test @@ -162,7 +162,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "trace(\"I\");\r\n" + "}\r\n", - false); + false); } @Test @@ -181,7 +181,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "default:\r\n" + "return;\r\n" + "}\r\n", - false); + false); } @Test @@ -197,7 +197,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "}\r\n" + "§§pop();\r\n" + "§§pop();\r\n", - false); + false); } @Test @@ -206,14 +206,14 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "var _loc5_:int = 5;\r\n" + "myname.somemethod(\"okay\",myslot = _loc5_);\r\n" + "myname.start();\r\n", - false); + false); } @Test public void testSetSlotFindProperty() { decompileMethod("assembled", "testSetSlotFindProperty", "var myprop:int;\r\n" + "return myprop = 50;\r\n", - false); + false); } @Test @@ -221,7 +221,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT decompileMethod("assembled", "testSwapAssignment", "var _loc6_:Bitmap = MyFactory.createBitmap();\r\n" + "_loc6_.x = _loc6_.x + 5;\r\n" + "_loc6_.y = -10;\r\n", - false); + false); } @Test @@ -241,7 +241,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "_loc2_ = \"C\";\r\n" + "}\r\n" + "_loc2_ = \"after\";\r\n", - false); + false); } @Test @@ -264,7 +264,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "default:\r\n" + "_loc2_ = 100;\r\n" + "}\r\n", - false); + false); } @Test @@ -292,7 +292,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "case 2:\r\n" + "trace(\"case2\");\r\n" + "}\r\n", - false); + false); } @Test @@ -338,7 +338,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "}\r\n" + "trace(\"G\");\r\n" + "return null;\r\n", - false); + false); } @Test @@ -365,7 +365,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "_loc2_ = 1;\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -394,7 +394,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -415,7 +415,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -435,7 +435,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "}\r\n" + "while(_loc5_ <= 100);\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -461,7 +461,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "return;\r\n" + "}\r\n" + "trace(\"finish\");\r\n", - false); + false); } @Test @@ -475,7 +475,7 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "{\r\n" + "return _loc5_;\r\n" + "}\r\n", - false); + false); } @Test @@ -485,6 +485,6 @@ public class ActionScript3AssembledDecompileTest extends ActionScript3DecompileT + "yyy\r\n" + ";\r\n" + "var _loc2_:* = _loc1_.b.*;\r\n", - false); + false); } } 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 5ebfefddc..7c5360757 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 @@ -42,13 +42,13 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(arguments[0]);\r\n" + "}\r\n", - false); + false); } @Test public void testArguments() { decompileMethod("classic_air", "testArguments", "return arguments[0];\r\n", - false); + false); } @Test @@ -61,21 +61,21 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var f:* = a ^ 0x0641;\r\n" + "var g:* = 0x0641 ^ a;\r\n" + "var h:int = -385;\r\n", - false); + false); } @Test public void testCallCall() { decompileMethod("classic_air", "testCallCall", "var o:* = new getDefinitionByName(\"Object\");\r\n" + "var o2:* = new (getDefinitionByName(\"Object\"))();\r\n", - false); + false); } @Test public void testCallLocal() { decompileMethod("classic_air", "testCallLocal", "var f:Function = getF();\r\n" + "var b:int = f(1,3);\r\n", - false); + false); } @Test @@ -95,7 +95,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"infinally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -115,7 +115,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"ch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -134,7 +134,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"OK: \" + f);\r\n" + "}\r\n", - false); + false); } @Test @@ -157,7 +157,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(e);\r\n" + "}\r\n" + "trace(\"y\");\r\n", - false); + false); } @Test @@ -165,7 +165,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile decompileMethod("classic_air", "testComma", "var a:int = 5;\r\n" + "var b:int = 0;\r\n" + "trace(a > 4 ? (b = 5, a) : 35);\r\n", - false); + false); } @Test @@ -173,7 +173,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile decompileMethod("classic_air", "testComplexExpressions", "var i:int = 0;\r\n" + "var j:int = 0;\r\n" + "j = i += i += i++;\r\n", - false); + false); } @Test @@ -203,7 +203,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(e.message);\r\n" + "}\r\n", - false); + false); } @Test @@ -269,7 +269,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"hello\");\r\n" + "}\r\n", - false); + false); } @Test @@ -353,7 +353,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "super.prot = int(s);\r\n" + "i = super.prot;\r\n" + "s = String(super.prot);\r\n", - false); + false); } @Test @@ -369,7 +369,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "}\r\n" + "k = 7;\r\n", - false); + false); } @Test @@ -385,7 +385,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "i = new MyClass2();\r\n" + "}\r\n" + "return i;\r\n", - false); + false); } @Test @@ -405,7 +405,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "vnumber = 0.5;\r\n" + "vnumber = 6;\r\n" + "vobject = vclass;\r\n", - false); + false); } @Test @@ -423,7 +423,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"4\");\r\n" + "}\r\n" + "trace(\"after switch\");\r\n", - false); + false); } @Test @@ -445,7 +445,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -457,7 +457,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "a++;\r\n" + "}\r\n" + "while(a < 20);\r\n", - false); + false); } @Test @@ -478,7 +478,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "while(k < 9);\r\n" + "return 2;\r\n", - false); + false); } @Test @@ -488,7 +488,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "nextChar();\r\n" + "}\r\n" + "while(ch != \"\\n\" && ch != \"\");\r\n", - false); + false); } @Test @@ -510,7 +510,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "while(k < 10);\r\n" + "trace(\"ss\");\r\n", - false); + false); } @Test @@ -521,7 +521,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"between\");\r\n" + "var g:* = k.(d.attrib++, false);\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -529,7 +529,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile decompileMethod("classic_air", "testExecutionOrder", "var m:MyClass = null;\r\n" + "m.x = (m = create() as MyClass).x + 5;\r\n" + "trace(m.x);\r\n", - false); + false); } @Test @@ -551,7 +551,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "arr[0]();\r\n" + "}\r\n" + "return i == 0;\r\n", - false); + false); } @Test @@ -573,7 +573,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "return \"hu\" + str;\r\n" + "}\r\n", - false); + false); } @Test @@ -584,7 +584,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"a=\" + a);\r\n" + "a++;\r\n" + "}\r\n", - false); + false); } @Test @@ -610,7 +610,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -625,7 +625,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"hello:\" + a);\r\n" + "a++;\r\n" + "}\r\n", - false); + false); } @Test @@ -654,7 +654,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"part5\");\r\n" + "}\r\n", - false); + false); } @Test @@ -669,7 +669,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"item #\" + item);\r\n" + "}\r\n", - false); + false); } @Test @@ -686,7 +686,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"item #\" + test[0]);\r\n" + "}\r\n", - false); + false); } @Test @@ -700,7 +700,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"item #\" + this.testPriv);\r\n" + "}\r\n", - false); + false); } @Test @@ -718,7 +718,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "return item;\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -741,7 +741,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -780,7 +780,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"before_continue\");\r\n" + "}\r\n", - false); + false); } @Test @@ -807,7 +807,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -833,7 +833,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"C\");\r\n" + "}\r\n" + "trace(\"exit\");\r\n", - false); + false); } @Test @@ -848,7 +848,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(item);\r\n" + "}\r\n", - false); + false); } @Test @@ -867,7 +867,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"forend\");\r\n" + "}\r\n", - false); + false); } @Test @@ -881,7 +881,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "return item;\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -902,7 +902,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"final\");\r\n" + "}\r\n", - false); + false); } @Test @@ -936,7 +936,16 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"C\");\r\n" + "}\r\n", - false); + false); + } + + @Test + public void testGetProtected() { + decompileMethod("classic_air", "testGetProtected", "var c:InnerClass = new InnerClass();\r\n" + + "c.attr = 2;\r\n" + + "var a:int = attr;\r\n" + + "trace(a);\r\n", + false); } @Test @@ -968,7 +977,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"after\");\r\n" + "}\r\n" + "return 89;\r\n", - false); + false); } @Test @@ -992,7 +1001,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"E\");\r\n" + "}\r\n" + "return 5;\r\n", - false); + false); } @Test @@ -1020,7 +1029,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"C\");\r\n" + "}\r\n" + "trace(\"return\");\r\n", - false); + false); } @Test @@ -1041,7 +1050,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "}\r\n" + "trace(\"return\");\r\n", - false); + false); } @Test @@ -1066,7 +1075,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "j++;\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1091,7 +1100,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"D\");\r\n" + "}\r\n" + "trace(\"finish\");\r\n", - false); + false); } @Test @@ -1121,13 +1130,13 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"before loop end\");\r\n" + "}\r\n", - false); + false); } @Test public void testHello() { decompileMethod("classic_air", "testHello", "trace(\"hello\");\r\n", - false); + false); } @Test @@ -1137,7 +1146,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"onTrue\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1151,7 +1160,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"onFalse\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1172,7 +1181,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"in finally\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1196,7 +1205,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"C\");\r\n" + "return 7;\r\n", - false); + false); } @Test @@ -1221,7 +1230,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"in catch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1243,7 +1252,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1260,20 +1269,20 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"F\");\r\n" + "}\r\n", - false); + false); } @Test public void testImportedConst() { decompileMethod("classic_air", "testImportedConst", "trace(29);\r\n", - false); + false); } @Test public void testImportedVar() { decompileMethod("classic_air", "testImportedVar", "trace(myvar);\r\n" + "myvar = 5;\r\n", - false); + false); } @Test @@ -1287,7 +1296,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "b++;\r\n" + "var c:int = 1;\r\n" + "b = c++;\r\n", - false); + false); } @Test @@ -1338,7 +1347,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"--attr\");\r\n" + "trace(--attrx);\r\n" + "--attrx;\r\n", - false); + false); } @Test @@ -1358,7 +1367,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "return first;\r\n" + "};\r\n" + "traceParameter(\"hello\");\r\n", - false); + false); } @Test @@ -1383,7 +1392,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "return a + 1;\r\n" + "})(1);\r\n", - false); + false); } @Test @@ -1394,7 +1403,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(testProm);\r\n" + "};\r\n" + "innerFunc(a);\r\n", - false); + false); } @Test @@ -1410,7 +1419,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "s = 8;\r\n" + "}\r\n" + "innerFunc(a);\r\n", - false); + false); } @Test @@ -1437,7 +1446,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"b!=7\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -1462,7 +1471,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"finally block\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1476,20 +1485,20 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "b = true;\r\n" + "}\r\n" + "b = (i == 0 || i == 1) && j == 0;\r\n", - false); + false); } @Test public void testManualConvert() { decompileMethod("classic_air", "testManualConvert", "trace(\"String(this).length\");\r\n" + "trace(String(this).length);\r\n", - false); + false); } @Test public void testMetadata() { decompileMethod("classic_air", "testMetadata", "trace(\"hello\");\r\n", - false); + false); } @Test @@ -1506,7 +1515,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "default:\r\n" + "jj = 3;\r\n" + "}\r\n", - false); + false); } @Test @@ -1522,7 +1531,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"onFalse\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1535,7 +1544,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "return (param1 as TestClass2).attrib1 == 5;\r\n" + "};\r\n" + "})();\r\n", - false); + false); } @Test @@ -1547,7 +1556,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(b.c);\r\n" + "var c:int = myInternal::neco;\r\n" + "var d:int = myInternal2::neco;\r\n", - false); + false); } @Test @@ -1563,21 +1572,21 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "f();\r\n" + "this.f();\r\n" + "g();\r\n", - false); + false); } @Test public void testNegate() { decompileMethod("classic_air", "testNegate", "var a:int = 5;\r\n" + "var b:int = ~a;\r\n", - false); + false); } @Test public void testNumberCall() { decompileMethod("classic_air", "testNumberCall", "var a:String = (5).toString();\r\n" + "var b:String = 5.2.toString();\r\n", - false); + false); } @Test @@ -1666,7 +1675,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "\"test\" + this.f();\r\n" + "v = undefined;\r\n" + "sr = typeof c;\r\n", - false); + false); } @Test @@ -1680,19 +1689,19 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var d:int = 4;\r\n" + "var e:int = d + 5;\r\n" + "var i:int = h = g = f;\r\n", - false); + false); } @Test public void testParamNames() { decompileMethod("classic_air", "testParamNames", "return firstp + secondp + thirdp;\r\n", - false); + false); } @Test public void testParamsCount() { decompileMethod("classic_air", "testParamsCount", "return firstp;\r\n", - false); + false); } @Test @@ -1709,7 +1718,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "a = 6;\r\n" + "a = 0.6666666666666666;\r\n" + "trace(\"a=\" + a);\r\n", - false); + false); } @Test @@ -1719,7 +1728,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var c:int = 3;\r\n" + "var d:* = a << (b >>> c);\r\n" + "var e:* = a << b >>> c;\r\n", - false); + false); } @Test @@ -1730,7 +1739,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "d.method(d.attrib * 5);\r\n" + "}\r\n", - false); + false); } @Test @@ -1747,14 +1756,14 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "r = n1 / n2 / n3;\r\n" + "trace(\"not a regexp 2\");\r\n" + "r /= n1 / n2;\r\n", - false); + false); } @Test public void testRest() { decompileMethod("classic_air", "testRest", "trace(\"firstRest:\" + restval[0]);\r\n" + "return firstp;\r\n", - false); + false); } @Test @@ -1769,7 +1778,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(i--);\r\n" + "trace(++i);\r\n" + "trace(--i);\r\n", - false); + false); } @Test @@ -1786,7 +1795,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "n = 1;\r\n" + "}\r\n" + "};\r\n", - false); + false); } @Test @@ -1796,14 +1805,14 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"is eight\");\r\n" + "}\r\n", - false); + false); } @Test public void testStringCoerce() { decompileMethod("classic_air", "testStringCoerce", "var text1:String = this.a[\"test\"];\r\n" + "var text2:String = String(this.a[\"test\"]);\r\n", - false); + false); } @Test @@ -1812,7 +1821,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "this.traceIt(\"hello30\");\r\n" + "this.traceIt(\"hello\" + (k - 1));\r\n" + "this.traceIt(\"hello56\");\r\n", - false); + false); } @Test @@ -1822,7 +1831,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"backslash: \\\\ \");\r\n" + "trace(\"single quotes: \\'hello!\\'\");\r\n" + "trace(\"new line \\r\\n hello!\");\r\n", - false); + false); } @Test @@ -1841,7 +1850,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "case 89:\r\n" + "trace(\"eightynine\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1858,7 +1867,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "case \"C\":\r\n" + "trace(\"is C\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1886,7 +1895,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"message shown\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1908,7 +1917,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "default:\r\n" + "trace(\"default clause\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1926,7 +1935,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "break;\r\n" + "}\r\n" + "trace(\"B\");\r\n", - false); + false); } @Test @@ -1937,7 +1946,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var d:int = 78;\r\n" + "var e:* = a == b ? (c == d ? 1 : 7) : 3;\r\n" + "trace(\"e=\" + e);\r\n", - false); + false); } @Test @@ -1962,7 +1971,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"Finally part\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -1980,7 +1989,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"in catch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -2008,7 +2017,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "}\r\n" + "return 4;\r\n", - false); + false); } @Test @@ -2050,7 +2059,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"after\");\r\n" + "return \"X\";\r\n", - false); + false); } @Test @@ -2071,7 +2080,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "i++;\r\n" + "}\r\n" + "f();\r\n", - false); + false); } @Test @@ -2105,7 +2114,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"after\");\r\n" + "return \"X\";\r\n", - false); + false); } @Test @@ -2115,7 +2124,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "return x + y + TestClass;\r\n" + "};\r\n", - false); + false); } @Test @@ -2126,14 +2135,14 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var a:int = 5;\r\n" + "v[a * 8 - 39] = \"hi2\";\r\n" + "trace(v[0]);\r\n", - false); + false); } @Test public void testVector2() { decompileMethod("classic_air", "testVector2", "var a:Vector.> = new Vector.>();\r\n" + "var b:Vector. = new [10,20,30];\r\n", - false); + false); } @Test @@ -2147,7 +2156,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "a = 7;\r\n" + "b = 9;\r\n", - false); + false); } @Test @@ -2166,7 +2175,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "}\r\n" + "return \"B\";\r\n", - false); + false); } @Test @@ -2217,7 +2226,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"gg\");\r\n" + "}\r\n" + "trace(\"ss\");\r\n", - false); + false); } @Test @@ -2239,7 +2248,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "trace(\"hello2\");\r\n" + "}\r\n", - false); + false); } @Test @@ -2258,7 +2267,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "\r\n" + "}\r\n" + "trace(\"E\");\r\n", - false); + false); } @Test @@ -2288,7 +2297,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "}\r\n" + "i++;\r\n" + "}\r\n", - false); + false); } @Test @@ -2309,7 +2318,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -2337,7 +2346,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "trace(\"after_try\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -2481,6 +2490,6 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "\r\n" + ";\r\n" + "var m:XMLList = myXML.*;\r\n", - false); + 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 d36ba7a28..3fd476a9d 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 @@ -42,13 +42,13 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(arguments[0]);\r\n" + "}\r\n", - false); + false); } @Test public void testArguments() { decompileMethod("classic", "testArguments", "return arguments[0];\r\n", - false); + false); } @Test @@ -61,21 +61,21 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var f:int = a ^ 0x0641;\r\n" + "var g:int = 0x0641 ^ a;\r\n" + "var h:int = ~0x0180;\r\n", - false); + false); } @Test public void testCallCall() { decompileMethod("classic", "testCallCall", "var o:* = new getDefinitionByName(\"Object\")();\r\n" + "var o2:* = new (getDefinitionByName(\"Object\"))();\r\n", - false); + false); } @Test public void testCallLocal() { decompileMethod("classic", "testCallLocal", "var f:Function = this.getF();\r\n" + "var b:int = f(1,3);\r\n", - false); + false); } @Test @@ -95,7 +95,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"infinally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -115,7 +115,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"ch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -134,7 +134,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"OK: \" + f);\r\n" + "}\r\n", - false); + false); } @Test @@ -157,7 +157,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(e);\r\n" + "}\r\n" + "trace(\"y\");\r\n", - false); + false); } @Test @@ -165,7 +165,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes decompileMethod("classic", "testComma", "var a:int = 5;\r\n" + "var b:int = 0;\r\n" + "trace(a > 4 ? (b = 5, a) : 35);\r\n", - false); + false); } @Test @@ -173,7 +173,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes decompileMethod("classic", "testComplexExpressions", "var i:int = 0;\r\n" + "var j:int = 0;\r\n" + "j = i = i + (i = i + i++);\r\n", - false); + false); } @Test @@ -204,7 +204,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(e.message);\r\n" + "}\r\n", - false); + false); } @Test @@ -268,7 +268,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"hello\");\r\n" + "}\r\n", - false); + false); } @Test @@ -352,7 +352,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "super.prot = int(s);\r\n" + "i = super.prot;\r\n" + "s = String(super.prot);\r\n", - false); + false); } @Test @@ -368,7 +368,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "}\r\n" + "k = 7;\r\n", - false); + false); } @Test @@ -384,7 +384,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "i = new MyClass2();\r\n" + "}\r\n" + "return i;\r\n", - false); + false); } @Test @@ -404,7 +404,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "vnumber = 0.5;\r\n" + "vnumber = 6;\r\n" + "vobject = vclass;\r\n", - false); + false); } @Test @@ -422,7 +422,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"4\");\r\n" + "}\r\n" + "trace(\"after switch\");\r\n", - false); + false); } @Test @@ -444,7 +444,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -456,7 +456,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "a++;\r\n" + "}\r\n" + "while(a < 20);\r\n", - false); + false); } @Test @@ -477,7 +477,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "while(k < 9);\r\n" + "return 2;\r\n", - false); + false); } @Test @@ -487,7 +487,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "this.nextChar();\r\n" + "}\r\n" + "while(this.ch != \"\\n\" && this.ch != \"\");\r\n", - false); + false); } @Test @@ -509,7 +509,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "while(k < 10);\r\n" + "trace(\"ss\");\r\n", - false); + false); } @Test @@ -523,7 +523,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"between\");\r\n" + "g = k.(++d.attrib, 0);\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -531,7 +531,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes decompileMethod("classic", "testExecutionOrder", "var m:MyClass = null;\r\n" + "m.x = (m = create() as MyClass).x + 5;\r\n" + "trace(m.x);\r\n", - false); + false); } @Test @@ -553,7 +553,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "arr[0]();\r\n" + "}\r\n" + "return i == 0;\r\n", - false); + false); } @Test @@ -575,7 +575,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "return \"hu\" + str;\r\n" + "}\r\n", - false); + false); } @Test @@ -584,7 +584,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"a=\" + a);\r\n" + "}\r\n", - false); + false); } @Test @@ -609,7 +609,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -622,7 +622,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"hello:\" + a);\r\n" + "}\r\n", - false); + false); } @Test @@ -650,7 +650,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"part5\");\r\n" + "}\r\n", - false); + false); } @Test @@ -665,7 +665,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"item #\" + item);\r\n" + "}\r\n", - false); + false); } @Test @@ -682,7 +682,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"item #\" + test[0]);\r\n" + "}\r\n", - false); + false); } @Test @@ -696,7 +696,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"item #\" + this.testPriv);\r\n" + "}\r\n", - false); + false); } @Test @@ -714,7 +714,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "return item;\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -738,7 +738,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -778,7 +778,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"before_continue\");\r\n" + "}\r\n", - false); + false); } @Test @@ -806,7 +806,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -831,7 +831,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"C\");\r\n" + "}\r\n" + "trace(\"exit\");\r\n", - false); + false); } @Test @@ -846,7 +846,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(item);\r\n" + "}\r\n", - false); + false); } @Test @@ -866,7 +866,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"forend\");\r\n" + "}\r\n", - false); + false); } @Test @@ -880,7 +880,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "return item;\r\n" + "}\r\n" + "return null;\r\n", - false); + false); } @Test @@ -903,7 +903,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"final\");\r\n" + "}\r\n", - false); + false); } @Test @@ -937,7 +937,16 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"C\");\r\n" + "}\r\n", - false); + false); + } + + @Test + public void testGetProtected() { + decompileMethod("classic", "testGetProtected", "var c:InnerClass = new InnerClass();\r\n" + + "c.attr = 2;\r\n" + + "var a:* = this.attr;\r\n" + + "trace(a);\r\n", + false); } @Test @@ -969,7 +978,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"after\");\r\n" + "}\r\n" + "return 89;\r\n", - false); + false); } @Test @@ -993,7 +1002,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"E\");\r\n" + "}\r\n" + "return 5;\r\n", - false); + false); } @Test @@ -1020,7 +1029,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"C\");\r\n" + "}\r\n" + "trace(\"return\");\r\n", - false); + false); } @Test @@ -1041,7 +1050,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "}\r\n" + "trace(\"return\");\r\n", - false); + false); } @Test @@ -1065,7 +1074,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "j++;\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1090,7 +1099,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"D\");\r\n" + "}\r\n" + "trace(\"finish\");\r\n", - false); + false); } @Test @@ -1119,13 +1128,13 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"before loop end\");\r\n" + "}\r\n", - false); + false); } @Test public void testHello() { decompileMethod("classic", "testHello", "trace(\"hello\");\r\n", - false); + false); } @Test @@ -1135,7 +1144,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"onTrue\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1149,7 +1158,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"onFalse\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1170,7 +1179,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"in finally\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1194,7 +1203,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"C\");\r\n" + "return 7;\r\n", - false); + false); } @Test @@ -1218,7 +1227,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"in catch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1240,7 +1249,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"D\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1257,20 +1266,20 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"F\");\r\n" + "}\r\n", - false); + false); } @Test public void testImportedConst() { decompileMethod("classic", "testImportedConst", "trace(myconst);\r\n", - false); + false); } @Test public void testImportedVar() { decompileMethod("classic", "testImportedVar", "trace(myvar);\r\n" + "myvar = 5;\r\n", - false); + false); } @Test @@ -1284,7 +1293,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "b++;\r\n" + "var c:* = 1;\r\n" + "b = c++;\r\n", - false); + false); } @Test @@ -1337,7 +1346,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"--attr\");\r\n" + "trace(--this.attrx);\r\n" + "--this.attrx;\r\n", - false); + false); } @Test @@ -1359,7 +1368,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "return first;\r\n" + "};\r\n" + "traceParameter(\"hello\");\r\n", - false); + false); } @Test @@ -1380,7 +1389,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "return a + 1;\r\n" + "})(1);\r\n", - false); + false); } @Test @@ -1391,7 +1400,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(testProm);\r\n" + "};\r\n" + "innerFunc(a);\r\n", - false); + false); } @Test @@ -1407,7 +1416,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "s = 8;\r\n" + "}\r\n" + "innerFunc(a);\r\n", - false); + false); } @Test @@ -1434,7 +1443,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"b!=7\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -1459,7 +1468,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"finally block\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1473,20 +1482,20 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "b = true;\r\n" + "}\r\n" + "b = (i == 0 || i == 1) && j == 0;\r\n", - false); + false); } @Test public void testManualConvert() { decompileMethod("classic", "testManualConvert", "trace(\"String(this).length\");\r\n" + "trace(String(this).length);\r\n", - false); + false); } @Test public void testMetadata() { decompileMethod("classic", "testMetadata", "trace(\"hello\");\r\n", - false); + false); } @Test @@ -1503,7 +1512,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "default:\r\n" + "jj = 3;\r\n" + "}\r\n", - false); + false); } @Test @@ -1519,7 +1528,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"onFalse\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1528,7 +1537,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "return (param1 as TestClass2).attrib1 == 5;\r\n" + "};\r\n", - false); + false); } @Test @@ -1540,7 +1549,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(b.c);\r\n" + "var c:* = myInternal::neco;\r\n" + "var d:* = this.myInternal2::neco;\r\n", - false); + false); } @Test @@ -1556,21 +1565,21 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "this.f();\r\n" + "this.f();\r\n" + "g();\r\n", - false); + false); } @Test public void testNegate() { decompileMethod("classic", "testNegate", "var a:int = 5;\r\n" + "var b:int = ~a;\r\n", - false); + false); } @Test public void testNumberCall() { decompileMethod("classic", "testNumberCall", "var a:String = (5).toString();\r\n" + "var b:String = 5.2.toString();\r\n", - false); + false); } @Test @@ -1652,7 +1661,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "\"test\" + this.f();\r\n" + "v = undefined;\r\n" + "sr = typeof c;\r\n", - false); + false); } @Test @@ -1666,19 +1675,19 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var d:int = 4;\r\n" + "var e:int = d + 5;\r\n" + "var i:int = h = g = f;\r\n", - false); + false); } @Test public void testParamNames() { decompileMethod("classic", "testParamNames", "return firstp + secondp + thirdp;\r\n", - false); + false); } @Test public void testParamsCount() { decompileMethod("classic", "testParamsCount", "return firstp;\r\n", - false); + false); } @Test @@ -1695,7 +1704,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "a = 1 * 2 * 3;\r\n" + "a = 1 * 2 / 3;\r\n" + "trace(\"a=\" + a);\r\n", - false); + false); } @Test @@ -1705,7 +1714,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var c:* = 3;\r\n" + "var d:* = a << (b >>> c);\r\n" + "var e:* = a << b >>> c;\r\n", - false); + false); } @Test @@ -1716,7 +1725,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "d.method(d.attrib * 5);\r\n" + "}\r\n", - false); + false); } @Test @@ -1733,14 +1742,14 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "r = n1 / n2 / n3;\r\n" + "trace(\"not a regexp 2\");\r\n" + "r /= n1 / n2;\r\n", - false); + false); } @Test public void testRest() { decompileMethod("classic", "testRest", "trace(\"firstRest:\" + restval[0]);\r\n" + "return firstp;\r\n", - false); + false); } @Test @@ -1755,7 +1764,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(i--);\r\n" + "trace(++i);\r\n" + "trace(--i);\r\n", - false); + false); } @Test @@ -1772,7 +1781,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "n = 1;\r\n" + "}\r\n" + "};\r\n", - false); + false); } @Test @@ -1782,14 +1791,14 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"is eight\");\r\n" + "}\r\n", - false); + false); } @Test public void testStringCoerce() { decompileMethod("classic", "testStringCoerce", "var text1:String = this.a[\"test\"];\r\n" + "var text2:String = String(this.a[\"test\"]);\r\n", - false); + false); } @Test @@ -1798,7 +1807,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "this.traceIt(\"hello\" + 5 * 6);\r\n" + "this.traceIt(\"hello\" + (k - 1));\r\n" + "this.traceIt(\"hello\" + 5 + 6);\r\n", - false); + false); } @Test @@ -1808,7 +1817,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"backslash: \\\\ \");\r\n" + "trace(\"single quotes: \\'hello!\\'\");\r\n" + "trace(\"new line \\r\\n hello!\");\r\n", - false); + false); } @Test @@ -1827,7 +1836,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "case 89:\r\n" + "trace(\"eightynine\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1844,7 +1853,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "case TestSwitchComma.X, \"C\":\r\n" + "trace(\"is C\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1872,7 +1881,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"message shown\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -1894,7 +1903,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "default:\r\n" + "trace(\"default clause\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1912,7 +1921,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "}\r\n" + "trace(\"B\");\r\n", - false); + false); } @Test @@ -1923,7 +1932,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var d:* = 78;\r\n" + "var e:* = a == b ? (c == d ? 1 : 7) : 3;\r\n" + "trace(\"e=\" + e);\r\n", - false); + false); } @Test @@ -1948,7 +1957,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"Finally part\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -1966,7 +1975,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"in catch\");\r\n" + "}\r\n", - false); + false); } @Test @@ -1994,7 +2003,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "}\r\n" + "return 4;\r\n", - false); + false); } @Test @@ -2041,7 +2050,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"after\");\r\n" + "return \"X\";\r\n", - false); + false); } @Test @@ -2061,7 +2070,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "i++;\r\n" + "}\r\n" + "f();\r\n", - false); + false); } @Test @@ -2097,7 +2106,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"after\");\r\n" + "return \"X\";\r\n", - false); + false); } @Test @@ -2107,7 +2116,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "return x + y + TestClass;\r\n" + "};\r\n", - false); + false); } @Test @@ -2118,14 +2127,14 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var a:int = 5;\r\n" + "v[a * 8 - 39] = \"hi2\";\r\n" + "trace(v[0]);\r\n", - false); + false); } @Test public void testVector2() { decompileMethod("classic", "testVector2", "var a:Vector.> = new Vector.>();\r\n" + "var b:Vector. = new [10,20,30];\r\n", - false); + false); } @Test @@ -2139,7 +2148,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "a = 7;\r\n" + "b = 9;\r\n", - false); + false); } @Test @@ -2158,7 +2167,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "}\r\n" + "return \"B\";\r\n", - false); + false); } @Test @@ -2209,7 +2218,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"gg\");\r\n" + "}\r\n" + "trace(\"ss\");\r\n", - false); + false); } @Test @@ -2231,7 +2240,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "trace(\"hello2\");\r\n" + "}\r\n", - false); + false); } @Test @@ -2250,7 +2259,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "\r\n" + "}\r\n" + "trace(\"E\");\r\n", - false); + false); } @Test @@ -2280,7 +2289,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "}\r\n" + "i++;\r\n" + "}\r\n", - false); + false); } @Test @@ -2301,7 +2310,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -2328,7 +2337,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "trace(\"after_try\");\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -2483,6 +2492,6 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "\r\n" + ";\r\n" + "m = myXML.*;\r\n", - false); + false); } } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileDecompileTest.java index 0bc1b4104..36d892788 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileDecompileTest.java @@ -54,7 +54,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -69,7 +69,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"catched exception: \" + e.message);\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -90,7 +90,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -107,7 +107,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "}\r\n" + "return 2;\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -137,7 +137,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -160,7 +160,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "{\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -197,7 +197,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "a++;\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -218,7 +218,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "a++;\r\n" + "}\r\n" + "return \"OK\";\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -244,7 +244,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"a=\" + a);\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -269,7 +269,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "i++;\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -299,7 +299,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "i++;\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -322,7 +322,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -344,7 +344,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"a=\" + a);\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -370,7 +370,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -412,7 +412,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -441,7 +441,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in catch1c\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -478,7 +478,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "a++;\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -501,7 +501,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "trace(\"after\");\r\n" + "return -1;\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -524,7 +524,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -546,7 +546,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"after try\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -565,7 +565,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in finally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -587,7 +587,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "return \"hu\" + str;\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -617,7 +617,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"after\");\r\n" + "i++;\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -647,7 +647,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"after\");\r\n" + "i++;\r\n" + "}\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -670,7 +670,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in finally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -685,7 +685,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in finally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -717,7 +717,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "trace(\"after\");\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -753,7 +753,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "trace(\"after\");\r\n" + "return \"RETEXIT\";\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -785,7 +785,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in finally1\");\r\n" + "}\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -837,7 +837,7 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "}\r\n" + "trace(\"after0\");\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test(dataProvider = "swfNamesProvider") @@ -862,6 +862,6 @@ public class ActionScript3CrossCompileDecompileTest extends ActionScript3Decompi + "trace(\"in finally\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileSwfToolsDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileSwfToolsDecompileTest.java index 2722d7350..6df341f4a 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileSwfToolsDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3CrossCompileSwfToolsDecompileTest.java @@ -44,7 +44,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -60,7 +60,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"catched exception: \" + _loc1_.message);\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -81,7 +81,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -98,7 +98,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "return 2;\r\n", - false); + false); } @Test @@ -128,7 +128,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -151,7 +151,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "{\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -188,7 +188,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "_loc1_++;\r\n" + "}\r\n", - false); + false); } @Test @@ -209,7 +209,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "return \"OK\";\r\n", - false); + false); } @Test @@ -235,7 +235,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -261,7 +261,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "_loc1_++;\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -290,7 +290,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "_loc1_++;\r\n" + "}\r\n" + "trace(\"end\");\r\n", - false); + false); } @Test @@ -313,7 +313,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in catch\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -335,7 +335,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -361,7 +361,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -403,7 +403,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -432,7 +432,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in catch1c\");\r\n" + "}\r\n" + "}\r\n", - false); + false); } @Test @@ -469,7 +469,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "_loc1_++;\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -492,7 +492,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"after\");\r\n" + "return -1;\r\n", - false); + false); } @Test @@ -515,7 +515,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -541,7 +541,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"after try\");\r\n" + "}\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -565,7 +565,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"in finally\");\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -587,7 +587,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "return \"hu\" + _loc1_;\r\n" + "}\r\n", - false); + false); } @Test @@ -623,7 +623,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"after\");\r\n" + "_loc1_++;\r\n" + "}\r\n", - false); + false); } @Test @@ -653,7 +653,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"after\");\r\n" + "_loc1_++;\r\n" + "}\r\n", - false); + false); } @Test @@ -681,7 +681,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"in finally\");\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -698,7 +698,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"in finally\");\r\n" + "trace(\"after\");\r\n", - false); + false); } @Test @@ -736,7 +736,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in finally\");\r\n" + "trace(\"after\");\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test @@ -771,7 +771,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"after\");\r\n" + "return \"RETEXIT\";\r\n", - false); + false); } @Test @@ -812,7 +812,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"in finally1\");\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test @@ -879,7 +879,7 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "trace(\"in finally0\");\r\n" + "trace(\"after0\");\r\n" + "return \"RETFINAL\";\r\n", - false); + false); } @Test @@ -910,6 +910,6 @@ public class ActionScript3CrossCompileSwfToolsDecompileTest extends ActionScript + "}\r\n" + "trace(\"in finally\");\r\n" + "trace(\"after\");\r\n", - false); + 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 831fbc68a..70fc7a03f 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 d6e060c7c..7f0cbbd96 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/src/Main.as b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as index d3e2cc993..a07bfb6c5 100644 --- a/libsrc/ffdec_lib/testdata/as3_new/src/Main.as +++ b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as @@ -61,6 +61,7 @@ package TestForInReturn; TestForInSwitch; TestForXml; + TestGetProtected; TestGotos; TestGotos2; TestGotos3; diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestGetProtected.as b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestGetProtected.as new file mode 100644 index 000000000..e1069d61d --- /dev/null +++ b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestGetProtected.as @@ -0,0 +1,21 @@ +package tests +{ + + public class TestGetProtected + { + protected var attr:int = 5; + + public function run():* + { + var c:InnerClass = new InnerClass(); + c.attr = 2; + var a = attr; + trace(a); + } + } +} + +class InnerClass +{ + public var attr:int = 1; +}