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
+ "{xtaga} >\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
+ "{xtagb}>\r\n"
+ "{xtaga}>;\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;
+}