mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-22 21:06:15 +00:00
Fixed: #2486 AS1/2 stoppart as end of function part
This commit is contained in:
@@ -378,4 +378,81 @@ public class ActionScript2AssemblerTest extends ActionScript2TestBase {
|
||||
+ "}\n"
|
||||
+ "trace(\"after\");");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStopPartEndFunction() {
|
||||
String res = decompilePcode("DefineFunction \"test\", 1, \"param1\" {\n"
|
||||
+ "Push \"param1\"\n"
|
||||
+ "GetVariable\n"
|
||||
+ "StoreRegister 1\n"
|
||||
+ "Pop\n"
|
||||
+ "Push \"Start\"\n"
|
||||
+ "Trace\n"
|
||||
+ "Push register1, 1\n"
|
||||
+ "Equals\n"
|
||||
+ "Not\n"
|
||||
+ "If loc007a\n"
|
||||
+ "Push register1, 2\n"
|
||||
+ "Equals\n"
|
||||
+ "Not\n"
|
||||
+ "If loc0075\n"
|
||||
+ "Push register1, 3\n"
|
||||
+ "Equals\n"
|
||||
+ "Not\n"
|
||||
+ "If loc006e\n"
|
||||
+ "Push \"C\"\n"
|
||||
+ "Trace\n"
|
||||
+ "Jump loc00a5\n"
|
||||
+ "loc006e:Push \"B\"\n"
|
||||
+ "Trace\n"
|
||||
+ "loc0075:Jump loc0081\n"
|
||||
+ "loc007a:Push \"E\"\n"
|
||||
+ "Trace\n"
|
||||
+ "loc0081:Push register1, 4\n"
|
||||
+ "Equals\n"
|
||||
+ "Not\n"
|
||||
+ "If loc009e\n"
|
||||
+ "Push \"A\"\n"
|
||||
+ "Trace\n"
|
||||
+ "Jump loc00a5\n"
|
||||
+ "loc009e:Push \"D\"\n"
|
||||
+ "Trace\n"
|
||||
+ "}\n"
|
||||
+ "loc00a5:Push \"end\"\n"
|
||||
+ "Trace\n");
|
||||
res = cleanPCode(res);
|
||||
assertEquals(res, "function test(param1)\n"
|
||||
+ "{\n"
|
||||
+ "var _loc1_ = param1;\n"
|
||||
+ "trace(\"Start\");\n"
|
||||
+ "if(_loc1_ == 1)\n"
|
||||
+ "{\n"
|
||||
+ "if(_loc1_ == 2)\n"
|
||||
+ "{\n"
|
||||
+ "if(_loc1_ == 3)\n"
|
||||
+ "{\n"
|
||||
+ "trace(\"C\");\n"
|
||||
+ "}\n"
|
||||
+ "else\n"
|
||||
+ "{\n"
|
||||
+ "trace(\"B\");\n"
|
||||
+ "}\n"
|
||||
+ "return;\n"
|
||||
+ "}\n"
|
||||
+ "}\n"
|
||||
+ "else\n"
|
||||
+ "{\n"
|
||||
+ "trace(\"E\");\n"
|
||||
+ "}\n"
|
||||
+ "if(_loc1_ == 4)\n"
|
||||
+ "{\n"
|
||||
+ "trace(\"A\");\n"
|
||||
+ "}\n"
|
||||
+ "else\n"
|
||||
+ "{\n"
|
||||
+ "trace(\"D\");\n"
|
||||
+ "}\n"
|
||||
+ "}\n"
|
||||
+ "trace(\"end\");");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user