mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-09 11:18:43 +00:00
return in try
This commit is contained in:
@@ -1264,6 +1264,83 @@ public class ActionScript3Test extends ActionScriptTestBase {
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTryReturn2() {
|
||||
decompileMethod("testTryReturn2", "var c:Boolean = false;\r\n"
|
||||
+ "trace(\"before\");\r\n"
|
||||
+ "var a:Boolean = true;\r\n"
|
||||
+ "var b:Boolean = false;\r\n"
|
||||
+ "c = true;\r\n"
|
||||
+ "var d:Boolean = false;\r\n"
|
||||
+ "var e:Boolean = true;\r\n"
|
||||
+ "try\r\n"
|
||||
+ "{\r\n"
|
||||
+ "if(a)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"A\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "if(b)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"B\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "}\r\n"
|
||||
+ "catch(e:Error)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "if(c)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"C\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "}\r\n"
|
||||
+ "finally\r\n"
|
||||
+ "{\r\n"
|
||||
+ "if(d)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"D\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "if(e)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"E\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "}\r\n"
|
||||
+ "trace(\"after\");\r\n"
|
||||
+ "return \"X\";\r\n",
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUsagesTry() {
|
||||
decompileMethod("testUsagesTry", "var k:int = 5;\r\n"
|
||||
+ "switch(k)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "case 0:\r\n"
|
||||
+ "trace(\"1\");\r\n"
|
||||
+ "break;\r\n"
|
||||
+ "case 1:\r\n"
|
||||
+ "trace(\"2\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "var a:Boolean = true;\r\n"
|
||||
+ "var b:Boolean = true;\r\n"
|
||||
+ "try\r\n"
|
||||
+ "{\r\n"
|
||||
+ "if(b)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "return \"B\";\r\n"
|
||||
+ "}\r\n"
|
||||
+ "trace(\"A\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "catch(e:Error)\r\n"
|
||||
+ "{\r\n"
|
||||
+ "trace(\"E\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "finally\r\n"
|
||||
+ "{\r\n"
|
||||
+ "trace(\"finally\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "trace(\"after\");\r\n"
|
||||
+ "return \"X\";\r\n",
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testVector() {
|
||||
decompileMethod("testVector", "var v:Vector.<String> = new Vector.<String>();\r\n"
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash;
|
||||
|
||||
/**
|
||||
@@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash;
|
||||
public class ActionScriptTestBase {
|
||||
|
||||
protected String cleanPCode(String pCode) {
|
||||
pCode = pCode.replaceAll("\t", " ").trim();
|
||||
pCode = pCode.replaceAll("( *[\r\n]+ *)+", "\n").trim();
|
||||
pCode = pCode.replaceAll(" +", " ").trim();
|
||||
return pCode;
|
||||
|
||||
Reference in New Issue
Block a user