mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-17 03:31:53 +00:00
Fixed: #2474 Gotos incorrectly decompiled
This commit is contained in:
Binary file not shown.
@@ -35,5 +35,9 @@ program
|
||||
#include "tests/TestSwitchMostCommon.script.asasm"
|
||||
#include "tests/TestXmlStar.script.asasm"
|
||||
#include "tests/TestLocalRegIf.script.asasm"
|
||||
#include "tests/TestGoto.script.asasm"
|
||||
#include "tests/TestGoto2.script.asasm"
|
||||
#include "tests/TestAlwaysBreak.script.asasm"
|
||||
#include "tests/TestAlwaysBreak2.script.asasm"
|
||||
; place to add next
|
||||
end ; program
|
||||
|
||||
101
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak.class.asasm
vendored
Normal file
101
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak.class.asasm
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
class
|
||||
refid "tests:TestAlwaysBreak"
|
||||
instance QName(PackageNamespace("tests"), "TestAlwaysBreak")
|
||||
extends QName(PackageNamespace(""), "Object")
|
||||
flag SEALED
|
||||
flag PROTECTEDNS
|
||||
protectedns ProtectedNamespace("tests:TestAlwaysBreak")
|
||||
iinit
|
||||
refid "tests:TestAlwaysBreak/instance/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait method QName(PackageNamespace(""), "run")
|
||||
method
|
||||
refid "tests:TestAlwaysBreak/instance/run"
|
||||
returns QName(PackageNamespace(""), "void")
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
debug 1, "v", 0, 15
|
||||
jump ofs0055
|
||||
ofs000c:
|
||||
label
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifngt ofs0048
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
ifngt ofs003e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
jump ofs005a
|
||||
ofs003e:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "d"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
ofs0048:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "e"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
jump ofs005a
|
||||
ofs0055:
|
||||
pushtrue
|
||||
iftrue ofs000c
|
||||
ofs005a:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "f"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
returnvoid
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; trait
|
||||
end ; instance
|
||||
cinit
|
||||
refid "tests:TestAlwaysBreak/class/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; class
|
||||
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak.script.asasm
vendored
Normal file
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak.script.asasm
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
script
|
||||
sinit
|
||||
refid "tests:TestAlwaysBreak/init"
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
findpropstrict Multiname("TestAlwaysBreak", [PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""), "Object")
|
||||
pushscope
|
||||
|
||||
getlex Multiname("Object", [PrivateNamespace(null, "tests:TestAlwaysBreak"), PackageNamespace(""), PackageNamespace("tests"), PackageInternalNs("tests"), Namespace("http://adobe.com/AS3/2006/builtin")])
|
||||
newclass "tests:TestAlwaysBreak"
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"), "TestAlwaysBreak")
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait class QName(PackageNamespace("tests"), "TestAlwaysBreak")
|
||||
#include "TestAlwaysBreak.class.asasm"
|
||||
end ; trait
|
||||
end ; script
|
||||
100
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak2.class.asasm
vendored
Normal file
100
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak2.class.asasm
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
class
|
||||
refid "tests:TestAlwaysBreak2"
|
||||
instance QName(PackageNamespace("tests"), "TestAlwaysBreak2")
|
||||
extends QName(PackageNamespace(""), "Object")
|
||||
flag SEALED
|
||||
flag PROTECTEDNS
|
||||
protectedns ProtectedNamespace("tests:TestAlwaysBreak2")
|
||||
iinit
|
||||
refid "tests:TestAlwaysBreak2/instance/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait method QName(PackageNamespace(""), "run")
|
||||
method
|
||||
refid "tests:TestAlwaysBreak2/instance/run"
|
||||
returns QName(PackageNamespace(""), "void")
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
debug 1, "v", 0, 15
|
||||
jump ofs0055
|
||||
ofs000c:
|
||||
label
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifngt ofs0048
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
ifngt ofs003e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
jump ofs005a
|
||||
ofs003e:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "d"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
ofs0048:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "e"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
jump ofs005a
|
||||
ofs0055:
|
||||
jump ofs000c
|
||||
ofs005a:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")])
|
||||
pushstring "f"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestAlwaysBreak"),ProtectedNamespace("tests:TestAlwaysBreak"),StaticProtectedNs("tests:TestAlwaysBreak"),PrivateNamespace("TestAlwaysBreak.as$33")]), 1
|
||||
returnvoid
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; trait
|
||||
end ; instance
|
||||
cinit
|
||||
refid "tests:TestAlwaysBreak2/class/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; class
|
||||
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak2.script.asasm
vendored
Normal file
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestAlwaysBreak2.script.asasm
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
script
|
||||
sinit
|
||||
refid "tests:TestAlwaysBreak2/init"
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
findpropstrict Multiname("TestAlwaysBreak2", [PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""), "Object")
|
||||
pushscope
|
||||
|
||||
getlex Multiname("Object", [PrivateNamespace(null, "tests:TestAlwaysBreak2"), PackageNamespace(""), PackageNamespace("tests"), PackageInternalNs("tests"), Namespace("http://adobe.com/AS3/2006/builtin")])
|
||||
newclass "tests:TestAlwaysBreak2"
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"), "TestAlwaysBreak2")
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait class QName(PackageNamespace("tests"), "TestAlwaysBreak2")
|
||||
#include "TestAlwaysBreak2.class.asasm"
|
||||
end ; trait
|
||||
end ; script
|
||||
111
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto.class.asasm
vendored
Normal file
111
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto.class.asasm
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
class
|
||||
refid "tests:TestGoto"
|
||||
instance QName(PackageNamespace("tests"), "TestGoto")
|
||||
extends QName(PackageNamespace(""), "Object")
|
||||
flag SEALED
|
||||
flag PROTECTEDNS
|
||||
protectedns ProtectedNamespace("tests:TestGoto")
|
||||
iinit
|
||||
refid "tests:TestGoto/instance/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait method QName(PackageNamespace(""), "run")
|
||||
method
|
||||
refid "tests:TestGoto/instance/run"
|
||||
returns QName(PackageNamespace(""), "void")
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
debug 1, "v", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
ifngt ofs003e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
ifngt ofs0031
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "goto"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
jump ofs0061
|
||||
ofs0031:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
jump ofs0047
|
||||
ofs003e:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
ofs0047:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "d"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
getlocal1
|
||||
pushbyte 3
|
||||
ifngt ofs006f
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "e"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
ofs0061:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "f"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
jump ofs0079
|
||||
ofs006f:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "g"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
ofs0079:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")])
|
||||
pushstring "end"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto"),ProtectedNamespace("tests:TestGoto"),StaticProtectedNs("tests:TestGoto"),PrivateNamespace("TestGoto.as$31")]), 1
|
||||
returnvoid
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; trait
|
||||
end ; instance
|
||||
cinit
|
||||
refid "tests:TestGoto/class/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; class
|
||||
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto.script.asasm
vendored
Normal file
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto.script.asasm
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
script
|
||||
sinit
|
||||
refid "tests:TestGoto/init"
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
findpropstrict Multiname("TestGoto", [PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""), "Object")
|
||||
pushscope
|
||||
|
||||
getlex Multiname("Object", [PrivateNamespace(null, "tests:TestGoto"), PackageNamespace(""), PackageNamespace("tests"), PackageInternalNs("tests"), Namespace("http://adobe.com/AS3/2006/builtin")])
|
||||
newclass "tests:TestGoto"
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"), "TestGoto")
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait class QName(PackageNamespace("tests"), "TestGoto")
|
||||
#include "TestGoto.class.asasm"
|
||||
end ; trait
|
||||
end ; script
|
||||
121
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto2.class.asasm
vendored
Normal file
121
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto2.class.asasm
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
class
|
||||
refid "tests:TestGoto2"
|
||||
instance QName(PackageNamespace("tests"), "TestGoto2")
|
||||
extends QName(PackageNamespace(""), "Object")
|
||||
flag SEALED
|
||||
flag PROTECTEDNS
|
||||
protectedns ProtectedNamespace("tests:TestGoto2")
|
||||
iinit
|
||||
refid "tests:TestGoto2/instance/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait method QName(PackageNamespace(""), "run")
|
||||
method
|
||||
refid "tests:TestGoto2/instance/run"
|
||||
returns QName(PackageNamespace(""), "void")
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
debug 1, "v", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
ifngt ofs003e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
ifngt ofs0031
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "goto"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
jump ofs0074
|
||||
ofs0031:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
jump ofs0047
|
||||
ofs003e:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
ofs0047:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "d"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
getlocal1
|
||||
pushbyte 3
|
||||
ifngt ofs008c
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "e"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
getlex Multiname("b",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushbyte 5
|
||||
ifngt ofs007e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "f"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
ofs0074:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "g"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
ofs007e:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "h"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
jump ofs0096
|
||||
ofs008c:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "i"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
ofs0096:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")])
|
||||
pushstring "end"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGoto2"),ProtectedNamespace("tests:TestGoto2"),StaticProtectedNs("tests:TestGoto2"),PrivateNamespace("TestGoto2.as$32")]), 1
|
||||
returnvoid
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; trait
|
||||
end ; instance
|
||||
cinit
|
||||
refid "tests:TestGoto2/class/init"
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
end ; class
|
||||
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto2.script.asasm
vendored
Normal file
29
libsrc/ffdec_lib/testdata/as3_assembled/abc/as3_assembled-0/tests/TestGoto2.script.asasm
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
script
|
||||
sinit
|
||||
refid "tests:TestGoto2/init"
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
|
||||
findpropstrict Multiname("TestGoto2", [PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""), "Object")
|
||||
pushscope
|
||||
|
||||
getlex Multiname("Object", [PrivateNamespace(null, "tests:TestGoto2"), PackageNamespace(""), PackageNamespace("tests"), PackageInternalNs("tests"), Namespace("http://adobe.com/AS3/2006/builtin")])
|
||||
newclass "tests:TestGoto2"
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"), "TestGoto2")
|
||||
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
trait class QName(PackageNamespace("tests"), "TestGoto2")
|
||||
#include "TestGoto2.class.asasm"
|
||||
end ; trait
|
||||
end ; script
|
||||
Binary file not shown.
Reference in New Issue
Block a user