mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-21 22:47:06 +00:00
Added test for direct editing
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -47,6 +47,7 @@ hs_err_pid*.log
|
||||
/libsrc/ffdec_lib/testdata/decompile/
|
||||
/libsrc/ffdec_lib/testdata/recompile/
|
||||
/libsrc/ffdec_lib/testdata/directediting/
|
||||
/libsrc/ffdec_lib/testactual/
|
||||
/libsrc/ffdec_lib/coverage.ec
|
||||
/libsrc/ffdec_lib/revision.txt
|
||||
/libsrc/ffdec_lib/releases/
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2026 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash;
|
||||
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.ScriptPack;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException;
|
||||
import com.jpexs.decompiler.flash.abc.types.ConvertData;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode;
|
||||
import com.jpexs.decompiler.flash.helpers.CodeFormatting;
|
||||
import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter;
|
||||
import com.jpexs.decompiler.flash.importers.As3ScriptReplaceException;
|
||||
import com.jpexs.decompiler.flash.importers.As3ScriptReplacerFactory;
|
||||
import com.jpexs.decompiler.flash.tags.ABCContainerTag;
|
||||
import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import static org.testng.Assert.fail;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class ActionScript3DirectEditingPCodeTest {
|
||||
|
||||
@BeforeClass
|
||||
public void init() {
|
||||
Configuration.autoDeobfuscate.set(false);
|
||||
Configuration.simplifyExpressions.set(false);
|
||||
Configuration._debugCopy.set(false);
|
||||
Configuration.useFlexAs3Compiler.set(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDirectEditingPCode() throws IOException, InterruptedException, AVM2ParseException, CompilationException {
|
||||
String filePath = "testdata/as3_new/bin/as3_new.flex.swf";
|
||||
File expectedDir = new File("testexpected/as3_new");
|
||||
File actualDir = new File("testactual/as3_new");
|
||||
|
||||
if (!actualDir.exists()) {
|
||||
actualDir.mkdirs();
|
||||
}
|
||||
|
||||
|
||||
File playerSWC = Configuration.getPlayerSWC();
|
||||
if (playerSWC == null) {
|
||||
throw new IOException("Player SWC library not found, please place it to " + Configuration.getFlashLibPath());
|
||||
}
|
||||
try {
|
||||
SWF swf = new SWF(new BufferedInputStream(new FileInputStream(filePath)), false);
|
||||
if (swf.isAS3()) {
|
||||
List<ABC> allAbcs = new ArrayList<>();
|
||||
for (ABCContainerTag ct : swf.getAbcList()) {
|
||||
allAbcs.add(ct.getABC());
|
||||
}
|
||||
for (ABC abc : allAbcs) {
|
||||
for (int s = 0; s < abc.script_info.size(); s++) {
|
||||
HighlightedTextWriter htw = new HighlightedTextWriter(new CodeFormatting(), false);
|
||||
ScriptPack en = abc.script_info.get(s).getPacks(abc, s, null, allAbcs).get(0);
|
||||
String classPathString = en.getClassPath().toString();
|
||||
|
||||
try {
|
||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.AS, false, false, false);
|
||||
htw.finishHilights();
|
||||
String original = htw.toString();
|
||||
abc.replaceScriptPack(As3ScriptReplacerFactory.createFFDec() /*TODO: test the otherone*/, en, original, new ArrayList<>());
|
||||
|
||||
htw = new HighlightedTextWriter(new CodeFormatting(), false);
|
||||
en = abc.script_info.get(s).getPacks(abc, s, null, allAbcs).get(0);
|
||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.PCODE, false, false, false);
|
||||
htw.finishHilights();
|
||||
String modifiedPcode = htw.toString();
|
||||
String classDirPath = classPathString.replace(".", "/");
|
||||
File actualFile = new File(actualDir.getAbsolutePath() + "/" + classDirPath + ".as");
|
||||
File expectedFile = new File(expectedDir.getAbsolutePath() + "/" + classDirPath + ".as");
|
||||
File outParent = actualFile.getParentFile();
|
||||
if (!outParent.exists()) {
|
||||
outParent.mkdirs();
|
||||
}
|
||||
FileOutputStream fos = new FileOutputStream(actualFile);
|
||||
fos.write(modifiedPcode.getBytes("UTF-8"));
|
||||
fos.close();
|
||||
|
||||
if (!expectedFile.exists()) {
|
||||
fail("Expected file " + expectedFile.getAbsolutePath() + " does not exists!");
|
||||
}
|
||||
|
||||
String expectedText = Helper.readTextFile(expectedFile.getAbsolutePath());
|
||||
String actualText = modifiedPcode;
|
||||
|
||||
expectedText = expectedText.replace("\r\n", "\n");
|
||||
actualText = actualText.replace("\r\n", "\n");
|
||||
|
||||
if (!Objects.equals(actualText, expectedText)) {
|
||||
fail("Files are not same - " + actualDir.getPath() + "/" + classDirPath + ".as");
|
||||
}
|
||||
} catch (As3ScriptReplaceException ex) {
|
||||
fail("Exception during decompilation - file: " + filePath + " class: " + classPathString + " msg:" + ex.getMessage(), ex);
|
||||
} catch (Exception ex) {
|
||||
fail("Exception during decompilation - file: " + filePath + " class: " + classPathString + " msg:" + ex.getMessage(), ex);
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
fail("Exception during decompilation: " + filePath + ":" + ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -85,11 +85,9 @@ public class DirectEditingTest extends FileTestBase {
|
||||
dotest = true;
|
||||
}
|
||||
if (!dotest) {
|
||||
System.out.println("Skipped:" + classPathString);
|
||||
continue;
|
||||
}
|
||||
|
||||
System.out.println("Recompiling:" + classPathString + "...");
|
||||
|
||||
try {
|
||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.AS, false, false, false);
|
||||
htw.finishHilights();
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.jpexs.decompiler.flash.generators;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.ScriptPack;
|
||||
import com.jpexs.decompiler.flash.abc.types.ConvertData;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode;
|
||||
import com.jpexs.decompiler.flash.helpers.CodeFormatting;
|
||||
import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter;
|
||||
import com.jpexs.decompiler.flash.importers.As3ScriptReplaceException;
|
||||
import com.jpexs.decompiler.flash.importers.As3ScriptReplacerFactory;
|
||||
import com.jpexs.decompiler.flash.tags.ABCContainerTag;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class AS3DirectEditingPCodeGenerator {
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
String filePath = "testdata/as3_new/bin/as3_new.flex.swf";
|
||||
File outDir = new File("testexpected/as3_new");
|
||||
|
||||
|
||||
Configuration.autoDeobfuscate.set(false);
|
||||
Configuration.simplifyExpressions.set(false);
|
||||
Configuration._debugCopy.set(false);
|
||||
Configuration.useFlexAs3Compiler.set(false);
|
||||
|
||||
if (!outDir.exists()) {
|
||||
outDir.mkdirs();
|
||||
}
|
||||
|
||||
SWF swf = new SWF(new BufferedInputStream(new FileInputStream(filePath)), false);
|
||||
|
||||
boolean dotest = false;
|
||||
List<ABC> allAbcs = new ArrayList<>();
|
||||
for (ABCContainerTag ct : swf.getAbcList()) {
|
||||
allAbcs.add(ct.getABC());
|
||||
}
|
||||
for (ABC abc : allAbcs) {
|
||||
for (int s = 0; s < abc.script_info.size(); s++) {
|
||||
HighlightedTextWriter htw = new HighlightedTextWriter(new CodeFormatting(), false);
|
||||
ScriptPack en = abc.script_info.get(s).getPacks(abc, s, null, allAbcs).get(0);
|
||||
String classPathString = en.getClassPath().toString();
|
||||
|
||||
try {
|
||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.AS, false, false, false);
|
||||
htw.finishHilights();
|
||||
String original = htw.toString();
|
||||
abc.replaceScriptPack(As3ScriptReplacerFactory.createFFDec() /*TODO: test the otherone*/, en, original, new ArrayList<>());
|
||||
|
||||
htw = new HighlightedTextWriter(new CodeFormatting(), false);
|
||||
en = abc.script_info.get(s).getPacks(abc, s, null, allAbcs).get(0);
|
||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.PCODE, false, false, false);
|
||||
htw.finishHilights();
|
||||
String modifiedPcode = htw.toString();
|
||||
String classDirPath = classPathString.replace(".", "/");
|
||||
File outFile = new File(outDir.getAbsolutePath() + "/" + classDirPath + ".as");
|
||||
File outParent = outFile.getParentFile();
|
||||
if (!outParent.exists()) {
|
||||
outParent.mkdirs();
|
||||
}
|
||||
FileOutputStream fos = new FileOutputStream(outFile);
|
||||
fos.write(modifiedPcode.getBytes("UTF-8"));
|
||||
fos.close();
|
||||
|
||||
} catch (As3ScriptReplaceException ex) {
|
||||
throw new RuntimeException("Exception during decompilation - file: " + filePath + " class: " + classPathString + " msg:" + ex.getMessage(), ex);
|
||||
} catch (Exception ex) {
|
||||
throw new RuntimeException("Exception during decompilation - file: " + filePath + " class: " + classPathString + " msg:" + ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
143
libsrc/ffdec_lib/testexpected/as3_new/Main.as
Normal file
143
libsrc/ffdec_lib/testexpected/as3_new/Main.as
Normal file
@@ -0,0 +1,143 @@
|
||||
package
|
||||
{
|
||||
import flash.display.Sprite;
|
||||
import flash.events.Event;
|
||||
import tests_classes.TestScriptInitializer;
|
||||
|
||||
public class Main extends Sprite
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 8
|
||||
maxscopedepth 9
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function Main()
|
||||
{
|
||||
method
|
||||
name "Main/Main"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 1
|
||||
initscopedepth 9
|
||||
maxscopedepth 10
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlex QName(PackageNamespace(""),"stage")
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0018
|
||||
getlocal0
|
||||
callpropvoid QName(PrivateNamespace("Main"),"init"), 0
|
||||
jump ofs0024
|
||||
ofs0018:
|
||||
findpropstrict QName(PackageNamespace(""),"addEventListener")
|
||||
getlex QName(PackageNamespace("flash.events"),"Event")
|
||||
getproperty QName(PackageNamespace(""),"ADDED_TO_STAGE")
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("Main"),"init")
|
||||
callpropvoid QName(PackageNamespace(""),"addEventListener"), 2
|
||||
ofs0024:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private function init(e:Event = null) : void
|
||||
{
|
||||
trait method QName(PrivateNamespace("Main"),"init")
|
||||
dispid 0
|
||||
method
|
||||
name "Main/private/init"
|
||||
flag HAS_OPTIONAL
|
||||
param QName(PackageNamespace("flash.events"),"Event")
|
||||
optional Null()
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 9
|
||||
maxscopedepth 10
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "e", 0, 0
|
||||
findpropstrict QName(PackageNamespace(""),"removeEventListener")
|
||||
getlex QName(PackageNamespace("flash.events"),"Event")
|
||||
getproperty QName(PackageNamespace(""),"ADDED_TO_STAGE")
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("Main"),"init")
|
||||
callpropvoid QName(PackageNamespace(""),"removeEventListener"), 2
|
||||
findpropstrict QName(PackageNamespace("tests_classes"),"TestScriptInitializer")
|
||||
constructprop QName(PackageNamespace("tests_classes"),"TestScriptInitializer"), 0
|
||||
pop
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 8
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getscopeobject 0
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.events"),"EventDispatcher")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.display"),"DisplayObject")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.display"),"InteractiveObject")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.display"),"DisplayObjectContainer")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.display"),"Sprite")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("flash.display"),"Sprite")
|
||||
newclass 0
|
||||
popscope
|
||||
popscope
|
||||
popscope
|
||||
popscope
|
||||
popscope
|
||||
popscope
|
||||
initproperty QName(PackageNamespace(""),"Main")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
package tests
|
||||
{
|
||||
public class TestActivationArguments
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestActivationArguments()
|
||||
{
|
||||
method
|
||||
name "tests:TestActivationArguments/TestActivationArguments"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestActivationArguments/run"
|
||||
flag NEED_ACTIVATION
|
||||
flag NEED_ARGUMENTS
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"arguments")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"Array")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"func")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "arguments", 0, 0
|
||||
debug 1, "+$activation", 1, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlocal1
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
getproperty Multiname("length",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestActivationArguments"),ProtectedNamespace("tests:TestActivationArguments"),StaticProtectedNs("tests:TestActivationArguments"),PrivateNamespace("TestActivationArguments.as$0")])
|
||||
pushbyte 0
|
||||
ifngt ofs0038
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestActivationArguments"),ProtectedNamespace("tests:TestActivationArguments"),StaticProtectedNs("tests:TestActivationArguments"),PrivateNamespace("TestActivationArguments.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
pushbyte 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestActivationArguments"),ProtectedNamespace("tests:TestActivationArguments"),StaticProtectedNs("tests:TestActivationArguments"),PrivateNamespace("TestActivationArguments.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestActivationArguments"),ProtectedNamespace("tests:TestActivationArguments"),StaticProtectedNs("tests:TestActivationArguments"),PrivateNamespace("TestActivationArguments.as$0")]), 1
|
||||
ofs0038:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestActivationArguments",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestActivationArguments")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
138
libsrc/ffdec_lib/testexpected/as3_new/tests/TestAlwaysBreak.as
Normal file
138
libsrc/ffdec_lib/testexpected/as3_new/tests/TestAlwaysBreak.as
Normal file
@@ -0,0 +1,138 @@
|
||||
package tests
|
||||
{
|
||||
public class TestAlwaysBreak
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestAlwaysBreak()
|
||||
{
|
||||
method
|
||||
name "tests:TestAlwaysBreak/TestAlwaysBreak"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestAlwaysBreak/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "v", 0, 13
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
jump ofs004d
|
||||
ofs001a:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifngt ofs0042
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
ifngt ofs003b
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
jump ofs0052
|
||||
ofs003b:
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
ofs0042:
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
jump ofs0052
|
||||
ofs004d:
|
||||
pushtrue
|
||||
iftrue ofs001a
|
||||
ofs0052:
|
||||
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$0")])
|
||||
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$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestAlwaysBreak",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestAlwaysBreak")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
309
libsrc/ffdec_lib/testexpected/as3_new/tests/TestAndOrCoercion.as
Normal file
309
libsrc/ffdec_lib/testexpected/as3_new/tests/TestAndOrCoercion.as
Normal file
@@ -0,0 +1,309 @@
|
||||
package tests
|
||||
{
|
||||
import tests_classes.mypackage1.TestClass;
|
||||
import tests_classes.mypackage1.TestInterface;
|
||||
|
||||
public class TestAndOrCoercion
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var ti:TestInterface;
|
||||
|
||||
private var tc:TestClass;
|
||||
|
||||
private var i:int = 5;
|
||||
|
||||
private var j:int = 6;
|
||||
|
||||
private var tx:TestInterface;
|
||||
|
||||
public function TestAndOrCoercion()
|
||||
{
|
||||
method
|
||||
name "tests:TestAndOrCoercion/TestAndOrCoercion"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iftrue ofs0014
|
||||
pop
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"tc")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs0014:
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"tx")
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : TestInterface
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestAndOrCoercion/run"
|
||||
returns QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "x", 0, 26
|
||||
debug 1, "y", 1, 27
|
||||
debug 1, "z", 2, 28
|
||||
debug 1, "a", 3, 30
|
||||
debug 1, "b", 4, 31
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iftrue ofs0050
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs0050
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs0050:
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
setlocal1
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs0070
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs0070:
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
setlocal2
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"tc")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
dup
|
||||
convert_b
|
||||
iftrue ofs0090
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"tc")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
ofs0090:
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
setlocal3
|
||||
getlocal0
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs00b1
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs00b1:
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce_a
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs00ce
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce_a
|
||||
ofs00ce:
|
||||
coerce_a
|
||||
setlocal 4
|
||||
pushbyte 1
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"i")
|
||||
dup
|
||||
convert_b
|
||||
iftrue ofs00e0
|
||||
pop
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"j")
|
||||
ofs00e0:
|
||||
add
|
||||
convert_i
|
||||
setlocal 5
|
||||
getlocal0
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs0102
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs0102:
|
||||
callpropvoid QName(PackageNamespace(""),"test"), 1
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs0122
|
||||
pop
|
||||
getlocal0
|
||||
findpropstrict QName(PackageNamespace("tests_classes.mypackage1"),"TestClass")
|
||||
constructprop QName(PackageNamespace("tests_classes.mypackage1"),"TestClass"), 0
|
||||
dup
|
||||
setlocal 6
|
||||
setproperty QName(PrivateNamespace("tests:TestAndOrCoercion"),"ti")
|
||||
getlocal 6
|
||||
kill 6
|
||||
coerce QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
ofs0122:
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function test(p:TestInterface) : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"test")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestAndOrCoercion/test"
|
||||
param QName(PackageNamespace("tests_classes.mypackage1"),"TestInterface")
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "p", 0, 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestAndOrCoercion",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestAndOrCoercion")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
101
libsrc/ffdec_lib/testexpected/as3_new/tests/TestArguments.as
Normal file
101
libsrc/ffdec_lib/testexpected/as3_new/tests/TestArguments.as
Normal file
@@ -0,0 +1,101 @@
|
||||
package tests
|
||||
{
|
||||
public class TestArguments
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestArguments()
|
||||
{
|
||||
method
|
||||
name "tests:TestArguments/TestArguments"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestArguments/run"
|
||||
flag NEED_ARGUMENTS
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "arguments", 0, 0
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestArguments"),ProtectedNamespace("tests:TestArguments"),StaticProtectedNs("tests:TestArguments"),PrivateNamespace("TestArguments.as$0")])
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestArguments",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestArguments")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
package tests
|
||||
{
|
||||
public class TestBitwiseOperands
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestBitwiseOperands()
|
||||
{
|
||||
method
|
||||
name "tests:TestBitwiseOperands/TestBitwiseOperands"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestBitwiseOperands/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 9
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
debug 1, "c", 2, 15
|
||||
debug 1, "d", 3, 16
|
||||
debug 1, "e", 4, 17
|
||||
debug 1, "f", 5, 18
|
||||
debug 1, "g", 6, 19
|
||||
debug 1, "h", 7, 20
|
||||
pushbyte 100
|
||||
convert_i
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushshort 2303
|
||||
bitand
|
||||
convert_i
|
||||
setlocal2
|
||||
pushshort 2303
|
||||
getlocal1
|
||||
bitand
|
||||
convert_i
|
||||
setlocal3
|
||||
getlocal1
|
||||
pushshort 1152
|
||||
bitor
|
||||
convert_i
|
||||
setlocal 4
|
||||
pushshort 1152
|
||||
getlocal1
|
||||
bitor
|
||||
convert_i
|
||||
setlocal 5
|
||||
getlocal1
|
||||
pushshort 1601
|
||||
bitxor
|
||||
convert_i
|
||||
setlocal 6
|
||||
pushshort 1601
|
||||
getlocal1
|
||||
bitxor
|
||||
convert_i
|
||||
setlocal 7
|
||||
pushshort 384
|
||||
bitnot
|
||||
convert_i
|
||||
setlocal 8
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestBitwiseOperands",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestBitwiseOperands")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCallCall.as
Normal file
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCallCall.as
Normal file
@@ -0,0 +1,113 @@
|
||||
package tests
|
||||
{
|
||||
import flash.utils.getDefinitionByName;
|
||||
|
||||
public class TestCallCall
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestCallCall()
|
||||
{
|
||||
method
|
||||
name "tests:TestCallCall/TestCallCall"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCallCall/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "o", 0, 15
|
||||
debug 1, "o2", 1, 16
|
||||
findpropstrict QName(PackageNamespace("flash.utils"),"getDefinitionByName")
|
||||
pushstring "Object"
|
||||
constructprop QName(PackageNamespace("flash.utils"),"getDefinitionByName"), 1
|
||||
getglobalscope
|
||||
call 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace("flash.utils"),"getDefinitionByName")
|
||||
pushstring "Object"
|
||||
callproperty QName(PackageNamespace("flash.utils"),"getDefinitionByName"), 1
|
||||
construct 0
|
||||
coerce_a
|
||||
setlocal2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestCallCall",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestCallCall")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
139
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCallLocal.as
Normal file
139
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCallLocal.as
Normal file
@@ -0,0 +1,139 @@
|
||||
package tests
|
||||
{
|
||||
public class TestCallLocal
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestCallLocal()
|
||||
{
|
||||
method
|
||||
name "tests:TestCallLocal/TestCallLocal"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function getF() : Function
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"getF")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCallLocal/getF"
|
||||
flag NEED_ACTIVATION
|
||||
returns QName(PackageNamespace(""),"Function")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
newfunction 3
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCallLocal/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "f", 0, 21
|
||||
debug 1, "b", 1, 22
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"getF"), 0
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setlocal1
|
||||
getlocal1
|
||||
getglobalscope
|
||||
pushbyte 1
|
||||
pushbyte 3
|
||||
call 2
|
||||
convert_i
|
||||
setlocal2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestCallLocal",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestCallLocal")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
174
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCatchFinally.as
Normal file
174
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCatchFinally.as
Normal file
@@ -0,0 +1,174 @@
|
||||
package tests
|
||||
{
|
||||
public class TestCatchFinally
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestCatchFinally()
|
||||
{
|
||||
method
|
||||
name "tests:TestCatchFinally/TestCatchFinally"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCatchFinally/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 4
|
||||
initscopedepth 5
|
||||
maxscopedepth 12
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 1
|
||||
type null
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setslot 1
|
||||
ofs0012:
|
||||
getscopeobject 1
|
||||
pushbyte 9
|
||||
coerce_a
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")])
|
||||
pushstring "intry"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")]), 1
|
||||
ofs0020:
|
||||
jump ofs003b
|
||||
ofs0024:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")])
|
||||
pushstring "incatch"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs003b:
|
||||
pushbyte -1
|
||||
ofs003d:
|
||||
jump ofs005c
|
||||
ofs0041:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 1
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
popscope
|
||||
kill 2
|
||||
coerce_a
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
jump ofs005c
|
||||
label
|
||||
pop
|
||||
ofs0057:
|
||||
label
|
||||
getlocal3
|
||||
kill 3
|
||||
throw
|
||||
ofs005c:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")])
|
||||
pushstring "infinally"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")]), 1
|
||||
lookupswitch ofs006b, [ofs0057]
|
||||
ofs006b:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")])
|
||||
pushstring "after"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCatchFinally"),ProtectedNamespace("tests:TestCatchFinally"),StaticProtectedNs("tests:TestCatchFinally"),PrivateNamespace("TestCatchFinally.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs0012 to ofs0020 target ofs0024 type null name QName(PackageNamespace(""),"e") end
|
||||
try from ofs0012 to ofs003d target ofs0041 type null name null end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestCatchFinally",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestCatchFinally")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
162
libsrc/ffdec_lib/testexpected/as3_new/tests/TestChain2.as
Normal file
162
libsrc/ffdec_lib/testexpected/as3_new/tests/TestChain2.as
Normal file
@@ -0,0 +1,162 @@
|
||||
package tests
|
||||
{
|
||||
public class TestChain2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestChain2()
|
||||
{
|
||||
method
|
||||
name "tests:TestChain2/TestChain2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChain2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 6
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "g", 0, 13
|
||||
debug 1, "h", 1, 14
|
||||
debug 1, "extraLine", 2, 15
|
||||
debug 1, "r", 3, 16
|
||||
debug 1, "t", 4, 17
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal2
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal3
|
||||
pushbyte 7
|
||||
convert_i
|
||||
setlocal 4
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal 5
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestChain2"),"getInt"), 0
|
||||
convert_i
|
||||
setlocal 5
|
||||
getlocal 5
|
||||
pushbyte 1
|
||||
add
|
||||
getlocal1
|
||||
getproperty QName(PackageNamespace(""),"length")
|
||||
ifnlt ofs0047
|
||||
inclocal_i 5
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal2
|
||||
ofs0047:
|
||||
getlocal 5
|
||||
pushbyte 0
|
||||
ifnge ofs0056
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChain2"),ProtectedNamespace("tests:TestChain2"),StaticProtectedNs("tests:TestChain2"),PrivateNamespace("TestChain2.as$0")])
|
||||
pushstring "ch"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChain2"),ProtectedNamespace("tests:TestChain2"),StaticProtectedNs("tests:TestChain2"),PrivateNamespace("TestChain2.as$0")]), 1
|
||||
ofs0056:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private function getInt() : int
|
||||
{
|
||||
trait method QName(PrivateNamespace("tests:TestChain2"),"getInt")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChain2/private/getInt"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
pushbyte 5
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestChain2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestChain2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
package tests
|
||||
{
|
||||
public class TestChainedAssignments1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestChainedAssignments1()
|
||||
{
|
||||
method
|
||||
name "tests:TestChainedAssignments1/TestChainedAssignments1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChainedAssignments1/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 14
|
||||
debug 1, "b", 1, 15
|
||||
debug 1, "c", 2, 16
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments1"),ProtectedNamespace("tests:TestChainedAssignments1"),StaticProtectedNs("tests:TestChainedAssignments1"),PrivateNamespace("TestChainedAssignments1.as$0")])
|
||||
pushstring "c = b = a = 5;"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments1"),ProtectedNamespace("tests:TestChainedAssignments1"),StaticProtectedNs("tests:TestChainedAssignments1"),PrivateNamespace("TestChainedAssignments1.as$0")]), 1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal3
|
||||
pushbyte 5
|
||||
convert_i
|
||||
dup
|
||||
setlocal1
|
||||
convert_i
|
||||
dup
|
||||
setlocal2
|
||||
convert_i
|
||||
setlocal3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestChainedAssignments1",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestChainedAssignments1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
package tests
|
||||
{
|
||||
public class TestChainedAssignments2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestChainedAssignments2()
|
||||
{
|
||||
method
|
||||
name "tests:TestChainedAssignments2/TestChainedAssignments2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChainedAssignments2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "e", 0, 14
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments2"),ProtectedNamespace("tests:TestChainedAssignments2"),StaticProtectedNs("tests:TestChainedAssignments2"),PrivateNamespace("TestChainedAssignments2.as$0")])
|
||||
pushstring "e.attrib1 = e.attrib2 = e.attrib3 = 10;"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments2"),ProtectedNamespace("tests:TestChainedAssignments2"),StaticProtectedNs("tests:TestChainedAssignments2"),PrivateNamespace("TestChainedAssignments2.as$0")]), 1
|
||||
findpropstrict QName(PrivateNamespace("TestChainedAssignments2.as$0"),"TestClass")
|
||||
constructprop QName(PrivateNamespace("TestChainedAssignments2.as$0"),"TestClass"), 0
|
||||
coerce QName(PrivateNamespace("TestChainedAssignments2.as$0"),"TestClass")
|
||||
setlocal1
|
||||
getlocal1
|
||||
getlocal1
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
dup
|
||||
setlocal2
|
||||
setproperty Multiname("attrib3",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments2"),ProtectedNamespace("tests:TestChainedAssignments2"),StaticProtectedNs("tests:TestChainedAssignments2"),PrivateNamespace("TestChainedAssignments2.as$0")])
|
||||
getlocal2
|
||||
kill 2
|
||||
dup
|
||||
setlocal2
|
||||
setproperty Multiname("attrib2",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments2"),ProtectedNamespace("tests:TestChainedAssignments2"),StaticProtectedNs("tests:TestChainedAssignments2"),PrivateNamespace("TestChainedAssignments2.as$0")])
|
||||
getlocal2
|
||||
kill 2
|
||||
setproperty Multiname("attrib1",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments2"),ProtectedNamespace("tests:TestChainedAssignments2"),StaticProtectedNs("tests:TestChainedAssignments2"),PrivateNamespace("TestChainedAssignments2.as$0")])
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attrib1:int;
|
||||
|
||||
public var attrib2:int;
|
||||
|
||||
public var attrib3:int;
|
||||
|
||||
public function TestClass()
|
||||
{
|
||||
method
|
||||
name "TestChainedAssignments2.as$0:TestClass/TestClass"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestChainedAssignments2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestChainedAssignments2")
|
||||
findpropstrict Multiname("TestClass",[PrivateNamespace("TestChainedAssignments2.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestChainedAssignments2.as$0"),"TestClass")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
package tests
|
||||
{
|
||||
public class TestChainedAssignments3
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var prop:int;
|
||||
|
||||
public function TestChainedAssignments3()
|
||||
{
|
||||
method
|
||||
name "tests:TestChainedAssignments3/TestChainedAssignments3"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChainedAssignments3/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 15
|
||||
debug 1, "b", 1, 16
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal0
|
||||
pushbyte 4
|
||||
convert_i
|
||||
dup
|
||||
setlocal2
|
||||
convert_i
|
||||
dup
|
||||
setlocal1
|
||||
setproperty QName(PrivateNamespace("tests:TestChainedAssignments3"),"prop")
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
ifne ofs002f
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments3"),ProtectedNamespace("tests:TestChainedAssignments3"),StaticProtectedNs("tests:TestChainedAssignments3"),PrivateNamespace("TestChainedAssignments3.as$0")])
|
||||
pushstring "OK: "
|
||||
getlocal1
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments3"),ProtectedNamespace("tests:TestChainedAssignments3"),StaticProtectedNs("tests:TestChainedAssignments3"),PrivateNamespace("TestChainedAssignments3.as$0")]), 1
|
||||
ofs002f:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestChainedAssignments3",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestChainedAssignments3")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
package tests
|
||||
{
|
||||
public class TestChainedAssignments4
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var prop:int;
|
||||
|
||||
public function TestChainedAssignments4()
|
||||
{
|
||||
method
|
||||
name "tests:TestChainedAssignments4/TestChainedAssignments4"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestChainedAssignments4/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"slota")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"slotb")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"slotc")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"f")
|
||||
slotid 4
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments4"),ProtectedNamespace("tests:TestChainedAssignments4"),StaticProtectedNs("tests:TestChainedAssignments4"),PrivateNamespace("TestChainedAssignments4.as$0")])
|
||||
pushstring "slotc = slotb = slota = 5;"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestChainedAssignments4"),ProtectedNamespace("tests:TestChainedAssignments4"),StaticProtectedNs("tests:TestChainedAssignments4"),PrivateNamespace("TestChainedAssignments4.as$0")]), 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 4
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
dup
|
||||
setlocal2
|
||||
setslot 1
|
||||
getlocal2
|
||||
kill 2
|
||||
dup
|
||||
setlocal2
|
||||
setslot 2
|
||||
getlocal2
|
||||
kill 2
|
||||
setslot 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestChainedAssignments4",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestChainedAssignments4")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
163
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCollidingTry.as
Normal file
163
libsrc/ffdec_lib/testexpected/as3_new/tests/TestCollidingTry.as
Normal file
@@ -0,0 +1,163 @@
|
||||
package tests
|
||||
{
|
||||
public class TestCollidingTry
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestCollidingTry()
|
||||
{
|
||||
method
|
||||
name "tests:TestCollidingTry/TestCollidingTry"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCollidingTry/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 12
|
||||
trait slot QName(PackageInternalNs("tests"),"e")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 1
|
||||
ofs0011:
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 1
|
||||
ofs0017:
|
||||
jump ofs0034
|
||||
ofs001b:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")])
|
||||
getscopeobject 2
|
||||
getslot 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0034:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")])
|
||||
pushstring "x"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")]), 1
|
||||
ofs003b:
|
||||
jump ofs0058
|
||||
ofs003f:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 1
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")])
|
||||
getscopeobject 2
|
||||
getslot 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0058:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")])
|
||||
pushstring "y"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCollidingTry"),ProtectedNamespace("tests:TestCollidingTry"),StaticProtectedNs("tests:TestCollidingTry"),PrivateNamespace("TestCollidingTry.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs0011 to ofs0017 target ofs001b type null name QName(PackageNamespace(""),"e") end
|
||||
try from ofs0034 to ofs003b target ofs003f type null name QName(PackageNamespace(""),"e") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestCollidingTry",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestCollidingTry")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
117
libsrc/ffdec_lib/testexpected/as3_new/tests/TestComma.as
Normal file
117
libsrc/ffdec_lib/testexpected/as3_new/tests/TestComma.as
Normal file
@@ -0,0 +1,117 @@
|
||||
package tests
|
||||
{
|
||||
public class TestComma
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestComma()
|
||||
{
|
||||
method
|
||||
name "tests:TestComma/TestComma"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestComma/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestComma"),ProtectedNamespace("tests:TestComma"),StaticProtectedNs("tests:TestComma"),PrivateNamespace("TestComma.as$0")])
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifngt ofs0026
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
jump ofs0028
|
||||
ofs0026:
|
||||
pushbyte 35
|
||||
ofs0028:
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestComma"),ProtectedNamespace("tests:TestComma"),StaticProtectedNs("tests:TestComma"),PrivateNamespace("TestComma.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestComma",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestComma")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
package tests
|
||||
{
|
||||
public class TestComplexExpressions
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestComplexExpressions()
|
||||
{
|
||||
method
|
||||
name "tests:TestComplexExpressions/TestComplexExpressions"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestComplexExpressions/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "i", 0, 13
|
||||
debug 1, "j", 1, 14
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal1
|
||||
getlocal1
|
||||
dup
|
||||
increment_i
|
||||
convert_i
|
||||
setlocal1
|
||||
add
|
||||
convert_i
|
||||
dup
|
||||
setlocal1
|
||||
add
|
||||
convert_i
|
||||
dup
|
||||
setlocal1
|
||||
convert_i
|
||||
setlocal2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestComplexExpressions",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestComplexExpressions")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,329 @@
|
||||
package tests
|
||||
{
|
||||
public class TestCompoundAssignments
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var attr:int = 0;
|
||||
|
||||
public function TestCompoundAssignments()
|
||||
{
|
||||
method
|
||||
name "tests:TestCompoundAssignments/TestCompoundAssignments"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function calc() : int
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"calc")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCompoundAssignments/calc"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
pushbyte 5
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestCompoundAssignments/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 10
|
||||
trait slot QName(PackageInternalNs("tests"),"t")
|
||||
slotid 1
|
||||
type QName(PrivateNamespace("TestCompoundAssignments.as$0"),"MyTest")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"b")
|
||||
slotid 2
|
||||
type null
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 10
|
||||
pushbyte 20
|
||||
pushbyte 30
|
||||
newarray 3
|
||||
coerce_a
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "a += 5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 3
|
||||
pushbyte 5
|
||||
add
|
||||
convert_i
|
||||
setslot 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "arr[call()] = arr[call()] + 2;"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushbyte 2
|
||||
add
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getscopeobject 1
|
||||
findpropstrict QName(PrivateNamespace("TestCompoundAssignments.as$0"),"MyTest")
|
||||
constructprop QName(PrivateNamespace("TestCompoundAssignments.as$0"),"MyTest"), 0
|
||||
coerce QName(PrivateNamespace("TestCompoundAssignments.as$0"),"MyTest")
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "t.attr *= 10"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
getproperty Multiname("attr",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushbyte 10
|
||||
multiply
|
||||
setproperty Multiname("attr",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "attr -= 5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getlocal0
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestCompoundAssignments"),"attr")
|
||||
pushbyte 5
|
||||
subtract
|
||||
setproperty QName(PrivateNamespace("tests:TestCompoundAssignments"),"attr")
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "arr[2] += 5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
pushbyte 2
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
pushbyte 2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushbyte 5
|
||||
add
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "arr[call()] /= 5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushbyte 5
|
||||
divide
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "arr[call()][call()] &= 10;"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"calc"), 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushbyte 10
|
||||
bitand
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
ofs00e2:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
pushstring "in try"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
ofs00e9:
|
||||
jump ofs0106
|
||||
ofs00ed:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getlex Multiname("e",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getproperty Multiname("message",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestCompoundAssignments"),ProtectedNamespace("tests:TestCompoundAssignments"),StaticProtectedNs("tests:TestCompoundAssignments"),PrivateNamespace("TestCompoundAssignments.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0106:
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs00e2 to ofs00e9 target ofs00ed type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MyTest
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attr:int = 0;
|
||||
|
||||
public function MyTest()
|
||||
{
|
||||
method
|
||||
name "TestCompoundAssignments.as$0:MyTest/MyTest"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestCompoundAssignments",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestCompoundAssignments")
|
||||
findpropstrict Multiname("MyTest",[PrivateNamespace("TestCompoundAssignments.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestCompoundAssignments.as$0"),"MyTest")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,260 @@
|
||||
package tests
|
||||
{
|
||||
public class TestContinueLevels
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestContinueLevels()
|
||||
{
|
||||
method
|
||||
name "tests:TestContinueLevels/TestContinueLevels"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestContinueLevels/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "b", 0, 13
|
||||
debug 1, "c", 1, 14
|
||||
debug 1, "d", 2, 15
|
||||
debug 1, "e", 3, 16
|
||||
debug 1, "a", 4, 17
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal3
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal 4
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal 5
|
||||
jump ofs0096
|
||||
ofs0031:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "fiftyseven multiply a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs005e
|
||||
ofs0041:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
ifne ofs004d
|
||||
jump ofs0065
|
||||
ofs004d:
|
||||
getlocal1
|
||||
pushbyte 15
|
||||
ifne ofs0058
|
||||
jump ofs0065
|
||||
ofs0058:
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
add
|
||||
coerce_a
|
||||
setlocal1
|
||||
ofs005e:
|
||||
getlocal1
|
||||
pushbyte 50
|
||||
iflt ofs0041
|
||||
ofs0065:
|
||||
jump ofs00ea
|
||||
ofs0069:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "thirteen"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
ofs0071:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "fourteen"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
jump ofs00ea
|
||||
ofs007d:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "eightynine"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
jump ofs00ea
|
||||
ofs0089:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "default clause"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
label
|
||||
jump ofs00ea
|
||||
ofs0096:
|
||||
getlocal 5
|
||||
setlocal 6
|
||||
pushbyte 57
|
||||
getlocal 5
|
||||
multiply
|
||||
getlocal 6
|
||||
ifstrictne ofs00ab
|
||||
pushbyte 0
|
||||
jump ofs00d7
|
||||
ofs00ab:
|
||||
pushbyte 13
|
||||
getlocal 6
|
||||
ifstrictne ofs00b9
|
||||
pushbyte 1
|
||||
jump ofs00d7
|
||||
ofs00b9:
|
||||
pushbyte 14
|
||||
getlocal 6
|
||||
ifstrictne ofs00c7
|
||||
pushbyte 2
|
||||
jump ofs00d7
|
||||
ofs00c7:
|
||||
pushbyte 89
|
||||
getlocal 6
|
||||
ifstrictne ofs00d5
|
||||
pushbyte 3
|
||||
jump ofs00d7
|
||||
ofs00d5:
|
||||
pushbyte -1
|
||||
ofs00d7:
|
||||
kill 6
|
||||
lookupswitch ofs0089, [ofs0031, ofs0069, ofs0071, ofs007d]
|
||||
ofs00ea:
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal2
|
||||
jump ofs0143
|
||||
ofs00f2:
|
||||
label
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal3
|
||||
jump ofs012f
|
||||
ofs00fb:
|
||||
label
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal 4
|
||||
getlocal 4
|
||||
pushbyte 50
|
||||
ifnlt ofs012d
|
||||
getlocal 4
|
||||
pushbyte 9
|
||||
ifne ofs0115
|
||||
jump ofs0136
|
||||
ofs0115:
|
||||
getlocal 4
|
||||
pushbyte 20
|
||||
ifne ofs0121
|
||||
jump ofs013d
|
||||
ofs0121:
|
||||
getlocal 4
|
||||
pushbyte 8
|
||||
ifeq ofs012d
|
||||
jump ofs014a
|
||||
ofs012d:
|
||||
inclocal 3
|
||||
ofs012f:
|
||||
getlocal3
|
||||
pushbyte 25
|
||||
iflt ofs00fb
|
||||
ofs0136:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")])
|
||||
pushstring "hello"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestContinueLevels"),ProtectedNamespace("tests:TestContinueLevels"),StaticProtectedNs("tests:TestContinueLevels"),PrivateNamespace("TestContinueLevels.as$0")]), 1
|
||||
ofs013d:
|
||||
getlocal2
|
||||
pushbyte 1
|
||||
add
|
||||
coerce_a
|
||||
setlocal2
|
||||
ofs0143:
|
||||
getlocal2
|
||||
pushbyte 8
|
||||
iflt ofs00f2
|
||||
ofs014a:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestContinueLevels",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestContinueLevels")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
501
libsrc/ffdec_lib/testexpected/as3_new/tests/TestConvert.as
Normal file
501
libsrc/ffdec_lib/testexpected/as3_new/tests/TestConvert.as
Normal file
@@ -0,0 +1,501 @@
|
||||
package tests
|
||||
{
|
||||
import flash.utils.Dictionary;
|
||||
import flash.utils.getTimer;
|
||||
import tests_classes.TestConvertParent;
|
||||
|
||||
public class TestConvert extends TestConvertParent
|
||||
{
|
||||
|
||||
public static var TEST:String = "Hello";
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findproperty QName(PackageNamespace(""),"TEST")
|
||||
pushstring "Hello"
|
||||
setproperty QName(PackageNamespace(""),"TEST")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var n:int = 1;
|
||||
|
||||
private var ns:String = "b";
|
||||
|
||||
public var TEST:int = 5;
|
||||
|
||||
private var f:Function = null;
|
||||
|
||||
public function TestConvert()
|
||||
{
|
||||
method
|
||||
name "tests:TestConvert/TestConvert"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 5
|
||||
maxscopedepth 6
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestConvert/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 6
|
||||
localcount 16
|
||||
initscopedepth 5
|
||||
maxscopedepth 6
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "s", 0, 27
|
||||
debug 1, "i", 1, 28
|
||||
debug 1, "a", 2, 29
|
||||
debug 1, "dict", 3, 30
|
||||
debug 1, "j", 4, 33
|
||||
debug 1, "o", 5, 47
|
||||
debug 1, "v", 6, 49
|
||||
debug 1, "x", 7, 65
|
||||
debug 1, "xlist", 8, 68
|
||||
debug 1, "lc", 9, 74
|
||||
debug 1, "f", 10, 77
|
||||
debug 1, "d", 11, 95
|
||||
debug 1, "a2", 12, 106
|
||||
debug 1, "s2", 13, 107
|
||||
debug 1, "i2", 14, 108
|
||||
pushnull
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal3
|
||||
findpropstrict QName(PackageNamespace("flash.utils"),"Dictionary")
|
||||
constructprop QName(PackageNamespace("flash.utils"),"Dictionary"), 0
|
||||
coerce QName(PackageNamespace("flash.utils"),"Dictionary")
|
||||
setlocal 4
|
||||
pushstring "a"
|
||||
coerce_s
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal1
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestConvert"),"n")
|
||||
convert_i
|
||||
setlocal 5
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal 5
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestConvert"),"ns")
|
||||
coerce_s
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal2
|
||||
pushbyte 4
|
||||
ifne ofs008f
|
||||
pushstring ""
|
||||
jump ofs0090
|
||||
ofs008f:
|
||||
getlocal2
|
||||
ofs0090:
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal2
|
||||
pushbyte 4
|
||||
ifne ofs00a2
|
||||
pushstring ""
|
||||
jump ofs00a8
|
||||
ofs00a2:
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal2
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
ofs00a8:
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlex QName(PackageNamespace("tests"),"TestConvert")
|
||||
getproperty QName(PackageNamespace(""),"TEST")
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal0
|
||||
getproperty QName(PackageNamespace(""),"TEST")
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"Number")
|
||||
pushstring "4"
|
||||
callproperty QName(PackageNamespace(""),"Number"), 1
|
||||
pushbyte 5
|
||||
multiply
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal3
|
||||
pushbyte 6
|
||||
multiply
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal3
|
||||
convert_i
|
||||
setlocal2
|
||||
pushstring "0"
|
||||
pushstring "A"
|
||||
pushstring "1"
|
||||
pushstring "B"
|
||||
pushstring "2"
|
||||
pushstring "C"
|
||||
newobject 3
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setlocal 6
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
callproperty QName(Namespace("http://adobe.com/AS3/2006/builtin"),"charAt"), 1
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
getlex QName(PackageNamespace("__AS3__.vec"),"Vector")
|
||||
getlex QName(PackageNamespace(""),"String")
|
||||
applytype 1
|
||||
construct 0
|
||||
coerce TypeName(QName(PackageNamespace("__AS3__.vec"),"Vector")<QName(PackageNamespace(""),"String")>)
|
||||
setlocal 7
|
||||
getlocal 7
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("push",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
getlocal 7
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("push",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal 7
|
||||
pushbyte 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal 7
|
||||
pushbyte 1
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal 7
|
||||
pushstring "x"
|
||||
callproperty Multiname("join",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal 7
|
||||
pushstring "x"
|
||||
callproperty Multiname("join",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
getlex QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlex QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlex QName(StaticProtectedNs("tests_classes:TestConvertParent"),"sprot")
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlex QName(StaticProtectedNs("tests_classes:TestConvertParent"),"sprot")
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
findpropstrict QName(PackageNamespace("flash.utils"),"getTimer")
|
||||
callproperty QName(PackageNamespace("flash.utils"),"getTimer"), 0
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlex QName(PackageNamespace(""),"XML")
|
||||
pushstring "<list>\r\n\t \t\t\t\t\t\t<item id=\"1\">1</item>\r\n\t\t\t\t\t\t\t<item id=\"2\">2</item>\r\n\t\t\t\t\t\t\t<item id=\"3\">3</item>\r\n\t\t\t\t\t\t</list>"
|
||||
construct 1
|
||||
coerce QName(PackageNamespace(""),"XML")
|
||||
setlocal 8
|
||||
getlocal 8
|
||||
coerce_s
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
pushstring "a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
getlocal 8
|
||||
getproperty Multiname("item",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
coerce QName(PackageNamespace(""),"XMLList")
|
||||
setlocal 9
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal 9
|
||||
getlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getproperty MultinameA("id",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
pushstring "c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal 8
|
||||
getproperty Multiname("item",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getproperty MultinameA("id",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal 4
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal 8
|
||||
getproperty Multiname("item",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getproperty MultinameA("id",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
pushstring "Hello"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
findpropstrict QName(PrivateNamespace("TestConvert.as$0"),"LocalClass")
|
||||
constructprop QName(PrivateNamespace("TestConvert.as$0"),"LocalClass"), 0
|
||||
coerce QName(PrivateNamespace("TestConvert.as$0"),"LocalClass")
|
||||
setlocal 10
|
||||
getlocal 10
|
||||
getproperty Multiname("attr",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal 10
|
||||
getproperty Multiname("attr",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestConvert"),"f")
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setlocal 11
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal 11
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs01e5
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
pushstring "OK"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
ofs01e5:
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal2
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs01f5
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getlocal2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
ofs01f5:
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal1
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0205
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getlocal1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
ofs0205:
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal 6
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0217
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
pushstring "obj"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")]), 1
|
||||
ofs0217:
|
||||
getlocal 9
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_d
|
||||
setlocal 12
|
||||
pushbyte 1
|
||||
convert_d
|
||||
setlocal 12
|
||||
pushdouble 1.5
|
||||
convert_d
|
||||
setlocal 12
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal2
|
||||
pushdouble 1.5
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal 6
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal 12
|
||||
pushbyte 5
|
||||
multiply
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
pushbyte 1
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),StaticProtectedNs("tests_classes:TestConvertParent"),PrivateNamespace("tests:TestConvert"),ProtectedNamespace("tests:TestConvert"),StaticProtectedNs("tests:TestConvert"),PrivateNamespace("TestConvert.as$0")])
|
||||
getlocal0
|
||||
pushdouble 1.5
|
||||
setproperty QName(PrivateNamespace("tests:TestConvert"),"n")
|
||||
pushdouble 1.5
|
||||
findproperty QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
swap
|
||||
setsuper QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
findpropstrict QName(PackageNamespace(""),"int")
|
||||
getlocal1
|
||||
callproperty QName(PackageNamespace(""),"int"), 1
|
||||
findproperty QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
swap
|
||||
setsuper QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
findpropstrict QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
getsuper QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
findpropstrict QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
getsuper QName(ProtectedNamespace("tests_classes:TestConvertParent"),"prot")
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushstring "5"
|
||||
coerce_a
|
||||
setlocal 13
|
||||
pushstring "s"
|
||||
coerce_s
|
||||
setlocal 14
|
||||
getlocal 13
|
||||
convert_i
|
||||
setlocal 15
|
||||
findpropstrict QName(PackageNamespace(""),"Number")
|
||||
getlocal 13
|
||||
callproperty QName(PackageNamespace(""),"Number"), 1
|
||||
coerce_a
|
||||
setlocal 13
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class LocalClass
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attr:int = 5;
|
||||
|
||||
public function LocalClass()
|
||||
{
|
||||
method
|
||||
name "TestConvert.as$0:LocalClass/LocalClass"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestConvert",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("tests_classes"),"TestConvertParent")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace("tests_classes"),"TestConvertParent")
|
||||
newclass 0
|
||||
popscope
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestConvert")
|
||||
findpropstrict Multiname("LocalClass",[PrivateNamespace("TestConvert.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestConvert.as$0"),"LocalClass")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
122
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDecl2.as
Normal file
122
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDecl2.as
Normal file
@@ -0,0 +1,122 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDecl2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDecl2()
|
||||
{
|
||||
method
|
||||
name "tests:TestDecl2/TestDecl2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDecl2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
debug 1, "i", 1, 14
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal2
|
||||
pushbyte 7
|
||||
add
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal2
|
||||
pushbyte 5
|
||||
ifne ofs002c
|
||||
getlocal2
|
||||
pushbyte 8
|
||||
ifnlt ofs002c
|
||||
pushbyte 6
|
||||
convert_i
|
||||
setlocal1
|
||||
ofs002c:
|
||||
pushbyte 7
|
||||
convert_i
|
||||
setlocal1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDecl2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDecl2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,272 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDeclarationInterface
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDeclarationInterface()
|
||||
{
|
||||
method
|
||||
name "tests:TestDeclarationInterface/TestDeclarationInterface"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : MyIFace
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDeclarationInterface/run"
|
||||
returns QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyIFace")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "i", 0, 13
|
||||
debug 1, "n", 1, 14
|
||||
pushnull
|
||||
coerce QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyIFace")
|
||||
setlocal1
|
||||
pushbyte 2
|
||||
convert_i
|
||||
setlocal2
|
||||
jump ofs0033
|
||||
ofs0018:
|
||||
label
|
||||
findpropstrict QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass")
|
||||
constructprop QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass"), 0
|
||||
coerce QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyIFace")
|
||||
setlocal1
|
||||
jump ofs005e
|
||||
ofs0025:
|
||||
label
|
||||
findpropstrict QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass2")
|
||||
constructprop QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass2"), 0
|
||||
coerce QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyIFace")
|
||||
setlocal1
|
||||
ofs002e:
|
||||
label
|
||||
jump ofs005e
|
||||
ofs0033:
|
||||
getlocal2
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
getlocal3
|
||||
ifstrictne ofs0042
|
||||
pushbyte 0
|
||||
jump ofs0051
|
||||
ofs0042:
|
||||
pushbyte 1
|
||||
getlocal3
|
||||
ifstrictne ofs004f
|
||||
pushbyte 1
|
||||
jump ofs0051
|
||||
ofs004f:
|
||||
pushbyte -1
|
||||
ofs0051:
|
||||
kill 3
|
||||
lookupswitch ofs002e, [ofs0018, ofs0025]
|
||||
ofs005e:
|
||||
getlocal1
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface MyIFace
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 2
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
class MyClass implements MyIFace
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function MyClass()
|
||||
{
|
||||
method
|
||||
name "TestDeclarationInterface.as$0:MyClass/MyClass"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
class MyClass2 implements MyIFace
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function MyClass2()
|
||||
{
|
||||
method
|
||||
name "TestDeclarationInterface.as$0:MyClass2/MyClass2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDeclarationInterface",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDeclarationInterface")
|
||||
findpropstrict Multiname("MyIFace",[PrivateNamespace("TestDeclarationInterface.as$0")])
|
||||
pushnull
|
||||
newclass 1
|
||||
initproperty QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyIFace")
|
||||
findpropstrict Multiname("MyClass",[PrivateNamespace("TestDeclarationInterface.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 2
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass")
|
||||
findpropstrict Multiname("MyClass2",[PrivateNamespace("TestDeclarationInterface.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 3
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestDeclarationInterface.as$0"),"MyClass2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
201
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDeclarations.as
Normal file
201
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDeclarations.as
Normal file
@@ -0,0 +1,201 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDeclarations
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDeclarations()
|
||||
{
|
||||
method
|
||||
name "tests:TestDeclarations/TestDeclarations"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDeclarations/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 8
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "vall", 0, 13
|
||||
debug 1, "vstr", 1, 14
|
||||
debug 1, "vint", 2, 15
|
||||
debug 1, "vuint", 3, 16
|
||||
debug 1, "vclass", 4, 17
|
||||
debug 1, "vnumber", 5, 18
|
||||
debug 1, "vobject", 6, 19
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushnull
|
||||
coerce_s
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
convert_u
|
||||
setlocal 4
|
||||
pushnull
|
||||
coerce QName(PrivateNamespace("TestDeclarations.as$0"),"TestClass1")
|
||||
setlocal 5
|
||||
getlex Multiname("NaN",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeclarations"),ProtectedNamespace("tests:TestDeclarations"),StaticProtectedNs("tests:TestDeclarations"),PrivateNamespace("TestDeclarations.as$0")])
|
||||
convert_d
|
||||
setlocal 6
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setlocal 7
|
||||
pushbyte 6
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushstring "hello"
|
||||
coerce_s
|
||||
setlocal2
|
||||
pushbyte 7
|
||||
convert_u
|
||||
setlocal 4
|
||||
pushbyte -4
|
||||
convert_i
|
||||
setlocal3
|
||||
findpropstrict QName(PrivateNamespace("TestDeclarations.as$0"),"TestClass1")
|
||||
constructprop QName(PrivateNamespace("TestDeclarations.as$0"),"TestClass1"), 0
|
||||
coerce QName(PrivateNamespace("TestDeclarations.as$0"),"TestClass1")
|
||||
setlocal 5
|
||||
pushdouble 0.5
|
||||
convert_d
|
||||
setlocal 6
|
||||
pushbyte 6
|
||||
convert_d
|
||||
setlocal 6
|
||||
getlocal 5
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setlocal 7
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestClass1()
|
||||
{
|
||||
method
|
||||
name "TestDeclarations.as$0:TestClass1/TestClass1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDeclarations",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDeclarations")
|
||||
findpropstrict Multiname("TestClass1",[PrivateNamespace("TestDeclarations.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestDeclarations.as$0"),"TestClass1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDefaultNotLastGrouped
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDefaultNotLastGrouped()
|
||||
{
|
||||
method
|
||||
name "tests:TestDefaultNotLastGrouped/TestDefaultNotLastGrouped"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDefaultNotLastGrouped/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
pushbyte 10
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs0030
|
||||
ofs000f:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")])
|
||||
pushstring "def and 6"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")]), 1
|
||||
ofs0017:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")])
|
||||
pushstring "def and 6 and 5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")]), 1
|
||||
jump ofs006b
|
||||
ofs0023:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")])
|
||||
pushstring "4"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")]), 1
|
||||
label
|
||||
jump ofs006b
|
||||
ofs0030:
|
||||
getlocal1
|
||||
setlocal2
|
||||
pushstring "six"
|
||||
getlocal2
|
||||
ifstrictne ofs003f
|
||||
pushbyte 0
|
||||
jump ofs005b
|
||||
ofs003f:
|
||||
pushstring "five"
|
||||
getlocal2
|
||||
ifstrictne ofs004c
|
||||
pushbyte 1
|
||||
jump ofs005b
|
||||
ofs004c:
|
||||
pushstring "four"
|
||||
getlocal2
|
||||
ifstrictne ofs0059
|
||||
pushbyte 2
|
||||
jump ofs005b
|
||||
ofs0059:
|
||||
pushbyte -1
|
||||
ofs005b:
|
||||
kill 2
|
||||
lookupswitch ofs000f, [ofs000f, ofs0017, ofs0023]
|
||||
ofs006b:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")])
|
||||
pushstring "after switch"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDefaultNotLastGrouped"),ProtectedNamespace("tests:TestDefaultNotLastGrouped"),StaticProtectedNs("tests:TestDefaultNotLastGrouped"),PrivateNamespace("TestDefaultNotLastGrouped.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDefaultNotLastGrouped",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDefaultNotLastGrouped")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
174
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDeobfuscation.as
Normal file
174
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDeobfuscation.as
Normal file
@@ -0,0 +1,174 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDeobfuscation
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDeobfuscation()
|
||||
{
|
||||
method
|
||||
name "tests:TestDeobfuscation/TestDeobfuscation"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDeobfuscation/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "r", 0, 13
|
||||
debug 1, "t", 1, 14
|
||||
debug 1, "f", 2, 15
|
||||
getlex QName(PackageNamespace(""),"Math")
|
||||
callproperty QName(PackageNamespace(""),"random"), 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal2
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal3
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
greaterthan
|
||||
dup
|
||||
iffalse ofs0029
|
||||
pop
|
||||
getlocal2
|
||||
ofs0029:
|
||||
iffalse ofs0034
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs0034:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
greaterthan
|
||||
dup
|
||||
iftrue ofs003f
|
||||
pop
|
||||
getlocal3
|
||||
ofs003f:
|
||||
iffalse ofs004a
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs004a:
|
||||
getlocal2
|
||||
dup
|
||||
iffalse ofs0055
|
||||
pop
|
||||
getlocal1
|
||||
pushbyte 15
|
||||
greaterthan
|
||||
ofs0055:
|
||||
iffalse ofs0060
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs0060:
|
||||
getlocal3
|
||||
dup
|
||||
iftrue ofs006b
|
||||
pop
|
||||
getlocal1
|
||||
pushbyte 20
|
||||
greaterthan
|
||||
ofs006b:
|
||||
iffalse ofs0076
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs0076:
|
||||
getlocal3
|
||||
iffalse ofs0082
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "trash1"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs0082:
|
||||
getlocal2
|
||||
not
|
||||
iffalse ofs008f
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")])
|
||||
pushstring "trash2"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDeobfuscation"),ProtectedNamespace("tests:TestDeobfuscation"),StaticProtectedNs("tests:TestDeobfuscation"),PrivateNamespace("TestDeobfuscation.as$0")]), 1
|
||||
ofs008f:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDeobfuscation",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDeobfuscation")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile.as
Normal file
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile.as
Normal file
@@ -0,0 +1,113 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDoWhile
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDoWhile()
|
||||
{
|
||||
method
|
||||
name "tests:TestDoWhile/TestDoWhile"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhile/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 8
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs0010
|
||||
ofs000f:
|
||||
label
|
||||
ofs0010:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile"),ProtectedNamespace("tests:TestDoWhile"),StaticProtectedNs("tests:TestDoWhile"),PrivateNamespace("TestDoWhile.as$0")])
|
||||
pushstring "a="
|
||||
getlocal1
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile"),ProtectedNamespace("tests:TestDoWhile"),StaticProtectedNs("tests:TestDoWhile"),PrivateNamespace("TestDoWhile.as$0")]), 1
|
||||
inclocal 1
|
||||
getlocal1
|
||||
pushbyte 20
|
||||
iflt ofs000f
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDoWhile",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDoWhile")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
126
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile2.as
Normal file
126
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile2.as
Normal file
@@ -0,0 +1,126 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDoWhile2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDoWhile2()
|
||||
{
|
||||
method
|
||||
name "tests:TestDoWhile2/TestDoWhile2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhile2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0010
|
||||
ofs000f:
|
||||
label
|
||||
ofs0010:
|
||||
inclocal_i 1
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifne ofs0023
|
||||
pushbyte 5
|
||||
getlocal1
|
||||
multiply
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0029
|
||||
ofs0023:
|
||||
pushbyte 5
|
||||
getlocal1
|
||||
subtract
|
||||
convert_i
|
||||
setlocal1
|
||||
ofs0029:
|
||||
declocal_i 1
|
||||
getlocal1
|
||||
pushbyte 9
|
||||
iflt ofs000f
|
||||
pushbyte 2
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDoWhile2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDoWhile2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
145
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile3.as
Normal file
145
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile3.as
Normal file
@@ -0,0 +1,145 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDoWhile3
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var ch:String;
|
||||
|
||||
public function TestDoWhile3()
|
||||
{
|
||||
method
|
||||
name "tests:TestDoWhile3/TestDoWhile3"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhile3/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
jump ofs0007
|
||||
ofs0006:
|
||||
label
|
||||
ofs0007:
|
||||
getlocal0
|
||||
callpropvoid QName(PrivateNamespace("tests:TestDoWhile3"),"nextChar"), 0
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestDoWhile3"),"ch")
|
||||
pushstring "\n"
|
||||
equals
|
||||
not
|
||||
dup
|
||||
iffalse ofs001f
|
||||
pop
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestDoWhile3"),"ch")
|
||||
pushstring ""
|
||||
equals
|
||||
not
|
||||
ofs001f:
|
||||
iftrue ofs0006
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private function nextChar() : void
|
||||
{
|
||||
trait method QName(PrivateNamespace("tests:TestDoWhile3"),"nextChar")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhile3/private/nextChar"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile3"),ProtectedNamespace("tests:TestDoWhile3"),StaticProtectedNs("tests:TestDoWhile3"),PrivateNamespace("TestDoWhile3.as$0")])
|
||||
pushstring "process next char"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile3"),ProtectedNamespace("tests:TestDoWhile3"),StaticProtectedNs("tests:TestDoWhile3"),PrivateNamespace("TestDoWhile3.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDoWhile3",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDoWhile3")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
132
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile4.as
Normal file
132
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhile4.as
Normal file
@@ -0,0 +1,132 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDoWhile4
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDoWhile4()
|
||||
{
|
||||
method
|
||||
name "tests:TestDoWhile4/TestDoWhile4"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhile4/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
pushbyte 8
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0010
|
||||
ofs000f:
|
||||
label
|
||||
ofs0010:
|
||||
getlocal1
|
||||
pushbyte 9
|
||||
ifne ofs0037
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")])
|
||||
pushstring "h"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 9
|
||||
ifne ofs0030
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")])
|
||||
pushstring "f"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")]), 1
|
||||
jump ofs003e
|
||||
ofs0030:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")])
|
||||
pushstring "b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")]), 1
|
||||
ofs0037:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")])
|
||||
pushstring "gg"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")]), 1
|
||||
ofs003e:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs000f
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")])
|
||||
pushstring "ss"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhile4"),ProtectedNamespace("tests:TestDoWhile4"),StaticProtectedNs("tests:TestDoWhile4"),PrivateNamespace("TestDoWhile4.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDoWhile4",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDoWhile4")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
153
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhileTwice.as
Normal file
153
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDoWhileTwice.as
Normal file
@@ -0,0 +1,153 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDoWhileTwice
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDoWhileTwice()
|
||||
{
|
||||
method
|
||||
name "tests:TestDoWhileTwice/TestDoWhileTwice"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDoWhileTwice/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 2
|
||||
convert_i
|
||||
setlocal2
|
||||
jump ofs0019
|
||||
ofs0018:
|
||||
label
|
||||
ofs0019:
|
||||
jump ofs001e
|
||||
ofs001d:
|
||||
label
|
||||
ofs001e:
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal1
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0044
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "x"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal2
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs003d
|
||||
jump ofs0050
|
||||
ofs003d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "y"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
ofs0044:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "z"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
pushtrue
|
||||
iftrue ofs001d
|
||||
ofs0050:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "g"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal2
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0065
|
||||
jump ofs0071
|
||||
ofs0065:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "h"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
pushtrue
|
||||
iftrue ofs0018
|
||||
ofs0071:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")])
|
||||
pushstring "finish"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDoWhileTwice"),ProtectedNamespace("tests:TestDoWhileTwice"),StaticProtectedNs("tests:TestDoWhileTwice"),PrivateNamespace("TestDoWhileTwice.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDoWhileTwice",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDoWhileTwice")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
301
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDotParent.as
Normal file
301
libsrc/ffdec_lib/testexpected/as3_new/tests/TestDotParent.as
Normal file
@@ -0,0 +1,301 @@
|
||||
package tests
|
||||
{
|
||||
public class TestDotParent
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestDotParent()
|
||||
{
|
||||
method
|
||||
name "tests:TestDotParent/TestDotParent"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestDotParent/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 9
|
||||
initscopedepth 5
|
||||
maxscopedepth 8
|
||||
trait slot QName(PackageInternalNs("tests"),"d")
|
||||
slotid 1
|
||||
type null
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"k")
|
||||
slotid 2
|
||||
type null
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"g")
|
||||
slotid 3
|
||||
type null
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
findpropstrict QName(PrivateNamespace("TestDotParent.as$0"),"TestClass1")
|
||||
constructprop QName(PrivateNamespace("TestDotParent.as$0"),"TestClass1"), 0
|
||||
coerce_a
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushnull
|
||||
coerce_a
|
||||
setslot 2
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
checkfilter
|
||||
coerce_a
|
||||
setlocal 4
|
||||
getlex QName(PackageNamespace(""),"XMLList")
|
||||
pushstring ""
|
||||
construct 1
|
||||
setlocal2
|
||||
jump ofs0076
|
||||
ofs0043:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
dup
|
||||
setlocal 5
|
||||
dup
|
||||
setlocal 6
|
||||
pushwith
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
dup
|
||||
setlocal 7
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
increment
|
||||
setlocal 8
|
||||
getlocal 7
|
||||
getlocal 8
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
kill 8
|
||||
kill 7
|
||||
pushbyte 0
|
||||
iffalse ofs0071
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 5
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
ofs0071:
|
||||
popscope
|
||||
kill 6
|
||||
kill 5
|
||||
ofs0076:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs0043
|
||||
kill 4
|
||||
kill 3
|
||||
getlocal2
|
||||
kill 2
|
||||
pop
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
pushstring "between"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")]), 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
checkfilter
|
||||
coerce_a
|
||||
setlocal 4
|
||||
getlex QName(PackageNamespace(""),"XMLList")
|
||||
pushstring ""
|
||||
construct 1
|
||||
setlocal2
|
||||
jump ofs00d7
|
||||
ofs00a4:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
dup
|
||||
setlocal 5
|
||||
dup
|
||||
setlocal 6
|
||||
pushwith
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
dup
|
||||
setlocal 7
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
increment
|
||||
setlocal 8
|
||||
getlocal 7
|
||||
getlocal 8
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
kill 8
|
||||
kill 7
|
||||
pushbyte 0
|
||||
iffalse ofs00d2
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 5
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
ofs00d2:
|
||||
popscope
|
||||
kill 6
|
||||
kill 5
|
||||
ofs00d7:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs00a4
|
||||
kill 4
|
||||
kill 3
|
||||
getlocal2
|
||||
kill 2
|
||||
coerce_a
|
||||
setslot 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")])
|
||||
pushstring "end"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestDotParent"),ProtectedNamespace("tests:TestDotParent"),StaticProtectedNs("tests:TestDotParent"),PrivateNamespace("TestDotParent.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attrib:int = 5;
|
||||
|
||||
public function TestClass1()
|
||||
{
|
||||
method
|
||||
name "TestDotParent.as$0:TestClass1/TestClass1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestDotParent",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestDotParent")
|
||||
findpropstrict Multiname("TestClass1",[PrivateNamespace("TestDotParent.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestDotParent.as$0"),"TestClass1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
package tests
|
||||
{
|
||||
public class TestExecutionOrder
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestExecutionOrder()
|
||||
{
|
||||
method
|
||||
name "tests:TestExecutionOrder/TestExecutionOrder"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private static function create() : Object
|
||||
{
|
||||
trait method QName(PrivateNamespace("tests:TestExecutionOrder"),"create")
|
||||
flag FINAL
|
||||
dispid 3
|
||||
method
|
||||
name "tests:TestExecutionOrder/private/create"
|
||||
returns QName(PackageNamespace(""),"Object")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass")
|
||||
constructprop QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass"), 0
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestExecutionOrder/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "m", 0, 18
|
||||
pushnull
|
||||
coerce QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass")
|
||||
setlocal1
|
||||
getlocal1
|
||||
findpropstrict QName(PrivateNamespace("tests:TestExecutionOrder"),"create")
|
||||
callproperty QName(PrivateNamespace("tests:TestExecutionOrder"),"create"), 0
|
||||
getlex QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass")
|
||||
astypelate
|
||||
coerce QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass")
|
||||
dup
|
||||
setlocal1
|
||||
getproperty Multiname("x",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExecutionOrder"),ProtectedNamespace("tests:TestExecutionOrder"),StaticProtectedNs("tests:TestExecutionOrder"),PrivateNamespace("TestExecutionOrder.as$0")])
|
||||
pushbyte 5
|
||||
add
|
||||
setproperty Multiname("x",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExecutionOrder"),ProtectedNamespace("tests:TestExecutionOrder"),StaticProtectedNs("tests:TestExecutionOrder"),PrivateNamespace("TestExecutionOrder.as$0")])
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExecutionOrder"),ProtectedNamespace("tests:TestExecutionOrder"),StaticProtectedNs("tests:TestExecutionOrder"),PrivateNamespace("TestExecutionOrder.as$0")])
|
||||
getlocal1
|
||||
getproperty Multiname("x",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExecutionOrder"),ProtectedNamespace("tests:TestExecutionOrder"),StaticProtectedNs("tests:TestExecutionOrder"),PrivateNamespace("TestExecutionOrder.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExecutionOrder"),ProtectedNamespace("tests:TestExecutionOrder"),StaticProtectedNs("tests:TestExecutionOrder"),PrivateNamespace("TestExecutionOrder.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MyClass
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var x:int = 1;
|
||||
|
||||
public var y:int = 1;
|
||||
|
||||
public function MyClass()
|
||||
{
|
||||
method
|
||||
name "TestExecutionOrder.as$0:MyClass/MyClass"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestExecutionOrder",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestExecutionOrder")
|
||||
findpropstrict Multiname("MyClass",[PrivateNamespace("TestExecutionOrder.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestExecutionOrder.as$0"),"MyClass")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestExpressions.as
Normal file
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestExpressions.as
Normal file
@@ -0,0 +1,159 @@
|
||||
package tests
|
||||
{
|
||||
public class TestExpressions
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestExpressions()
|
||||
{
|
||||
method
|
||||
name "tests:TestExpressions/TestExpressions"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestExpressions/run"
|
||||
flag NEED_ARGUMENTS
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 6
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "arguments", 0, 0
|
||||
debug 1, "arr", 1, 13
|
||||
debug 1, "i", 2, 14
|
||||
debug 1, "j", 3, 15
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal2
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal3
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal 4
|
||||
getlocal3
|
||||
pushbyte 2
|
||||
divide
|
||||
convert_i
|
||||
dup
|
||||
setlocal3
|
||||
convert_i
|
||||
setlocal3
|
||||
getlocal3
|
||||
pushbyte 1
|
||||
equals
|
||||
dup
|
||||
iftrue ofs003a
|
||||
pop
|
||||
getlocal3
|
||||
pushbyte 2
|
||||
equals
|
||||
ofs003a:
|
||||
iffalse ofs0047
|
||||
getlocal1
|
||||
getlocal3
|
||||
callpropvoid Multiname("concat",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExpressions"),ProtectedNamespace("tests:TestExpressions"),StaticProtectedNs("tests:TestExpressions"),PrivateNamespace("TestExpressions.as$0")]), 1
|
||||
jump ofs006a
|
||||
ofs0047:
|
||||
getlocal3
|
||||
pushbyte 0
|
||||
ifne ofs005b
|
||||
getlocal 4
|
||||
dup
|
||||
increment_i
|
||||
convert_i
|
||||
setlocal 4
|
||||
convert_i
|
||||
setlocal3
|
||||
jump ofs006a
|
||||
ofs005b:
|
||||
getlocal2
|
||||
dup
|
||||
setlocal 5
|
||||
pushbyte 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestExpressions"),ProtectedNamespace("tests:TestExpressions"),StaticProtectedNs("tests:TestExpressions"),PrivateNamespace("TestExpressions.as$0")])
|
||||
getlocal 5
|
||||
call 0
|
||||
pop
|
||||
kill 5
|
||||
ofs006a:
|
||||
getlocal3
|
||||
pushbyte 0
|
||||
equals
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestExpressions",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestExpressions")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
package tests
|
||||
{
|
||||
public class TestFinallyZeroJump
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestFinallyZeroJump()
|
||||
{
|
||||
method
|
||||
name "tests:TestFinallyZeroJump/TestFinallyZeroJump"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run(param1:String) : String
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestFinallyZeroJump/run"
|
||||
flag NEED_ACTIVATION
|
||||
param QName(PackageNamespace(""),"String")
|
||||
returns QName(PackageNamespace(""),"String")
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 6
|
||||
initscopedepth 5
|
||||
maxscopedepth 12
|
||||
trait slot QName(PackageInternalNs("tests"),"param1")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"str")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "param1", 0, 0
|
||||
debug 1, "+$activation", 1, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlocal1
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
coerce_s
|
||||
setslot 2
|
||||
ofs001f:
|
||||
jump ofs003f
|
||||
ofs0023:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal2
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal3
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")])
|
||||
pushstring "error is :"
|
||||
getlex Multiname("e",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")])
|
||||
getproperty Multiname("message",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")])
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")]), 1
|
||||
popscope
|
||||
kill 3
|
||||
ofs003f:
|
||||
pushbyte -1
|
||||
ofs0041:
|
||||
jump ofs0062
|
||||
ofs0045:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal2
|
||||
pushscope
|
||||
newcatch 1
|
||||
dup
|
||||
setlocal3
|
||||
pushscope
|
||||
popscope
|
||||
kill 3
|
||||
coerce_a
|
||||
setlocal 4
|
||||
pushbyte 0
|
||||
jump ofs0062
|
||||
label
|
||||
pop
|
||||
ofs005c:
|
||||
label
|
||||
getlocal 4
|
||||
kill 4
|
||||
throw
|
||||
ofs0062:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")])
|
||||
pushstring "hi "
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFinallyZeroJump"),ProtectedNamespace("tests:TestFinallyZeroJump"),StaticProtectedNs("tests:TestFinallyZeroJump"),PrivateNamespace("TestFinallyZeroJump.as$0")]), 1
|
||||
pushbyte 5
|
||||
pushbyte 4
|
||||
ifne ofs0086
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
coerce_a
|
||||
setlocal 5
|
||||
pushbyte 1
|
||||
jump ofs007e
|
||||
ofs007e:
|
||||
label
|
||||
pop
|
||||
ofs0080:
|
||||
label
|
||||
getlocal 5
|
||||
kill 5
|
||||
returnvalue
|
||||
ofs0086:
|
||||
pushstring "hu"
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
add
|
||||
coerce_a
|
||||
setlocal 5
|
||||
pushbyte 2
|
||||
jump ofs0096
|
||||
ofs0096:
|
||||
label
|
||||
pop
|
||||
ofs0098:
|
||||
label
|
||||
getlocal 5
|
||||
kill 5
|
||||
returnvalue
|
||||
lookupswitch ofs00ac, [ofs005c, ofs0080, ofs0098]
|
||||
ofs00ac:
|
||||
pushundefined
|
||||
returnvalue
|
||||
end ; code
|
||||
try from ofs001f to ofs001f target ofs0023 type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
try from ofs001f to ofs0041 target ofs0045 type null name null end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestFinallyZeroJump",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestFinallyZeroJump")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestFor.as
Normal file
113
libsrc/ffdec_lib/testexpected/as3_new/tests/TestFor.as
Normal file
@@ -0,0 +1,113 @@
|
||||
package tests
|
||||
{
|
||||
public class TestFor
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestFor()
|
||||
{
|
||||
method
|
||||
name "tests:TestFor/TestFor"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestFor/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs001b
|
||||
ofs000f:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFor"),ProtectedNamespace("tests:TestFor"),StaticProtectedNs("tests:TestFor"),PrivateNamespace("TestFor.as$0")])
|
||||
pushstring "a="
|
||||
getlocal1
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestFor"),ProtectedNamespace("tests:TestFor"),StaticProtectedNs("tests:TestFor"),PrivateNamespace("TestFor.as$0")]), 1
|
||||
inclocal 1
|
||||
ofs001b:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs000f
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestFor",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestFor")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
171
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForAnd.as
Normal file
171
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForAnd.as
Normal file
@@ -0,0 +1,171 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForAnd
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForAnd()
|
||||
{
|
||||
method
|
||||
name "tests:TestForAnd/TestForAnd"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForAnd/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "x", 0, 13
|
||||
debug 1, "len", 1, 14
|
||||
debug 1, "a", 2, 15
|
||||
debug 1, "b", 3, 16
|
||||
debug 1, "c", 4, 17
|
||||
debug 1, "i", 5, 18
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
pushbyte 4
|
||||
convert_i
|
||||
setlocal3
|
||||
pushbyte 7
|
||||
convert_i
|
||||
setlocal 4
|
||||
pushbyte 9
|
||||
convert_i
|
||||
setlocal 5
|
||||
pushbyte 0
|
||||
convert_u
|
||||
setlocal 6
|
||||
jump ofs0090
|
||||
ofs003e:
|
||||
label
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal 5
|
||||
getlocal 5
|
||||
pushbyte 2
|
||||
ifne ofs006d
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")]), 1
|
||||
getlocal 5
|
||||
pushbyte 7
|
||||
ifne ofs0066
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")]), 1
|
||||
jump ofs0074
|
||||
ofs0066:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")]), 1
|
||||
ofs006d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForAnd"),ProtectedNamespace("tests:TestForAnd"),StaticProtectedNs("tests:TestForAnd"),PrivateNamespace("TestForAnd.as$0")]), 1
|
||||
ofs0074:
|
||||
getlocal3
|
||||
pushbyte 4
|
||||
greaterthan
|
||||
dup
|
||||
iffalse ofs0083
|
||||
pop
|
||||
getlocal 4
|
||||
pushbyte 2
|
||||
lessthan
|
||||
ofs0083:
|
||||
dup
|
||||
iftrue ofs008e
|
||||
pop
|
||||
getlocal 5
|
||||
pushbyte 10
|
||||
greaterthan
|
||||
ofs008e:
|
||||
convert_b
|
||||
setlocal1
|
||||
ofs0090:
|
||||
getlocal 6
|
||||
getlocal2
|
||||
iflt ofs003e
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForAnd",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForAnd")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
119
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForBreak.as
Normal file
119
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForBreak.as
Normal file
@@ -0,0 +1,119 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForBreak
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForBreak()
|
||||
{
|
||||
method
|
||||
name "tests:TestForBreak/TestForBreak"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForBreak/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs0026
|
||||
ofs000f:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
ifne ofs001b
|
||||
jump ofs002d
|
||||
ofs001b:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForBreak"),ProtectedNamespace("tests:TestForBreak"),StaticProtectedNs("tests:TestForBreak"),PrivateNamespace("TestForBreak.as$0")])
|
||||
pushstring "hello:"
|
||||
getlocal1
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForBreak"),ProtectedNamespace("tests:TestForBreak"),StaticProtectedNs("tests:TestForBreak"),PrivateNamespace("TestForBreak.as$0")]), 1
|
||||
inclocal 1
|
||||
ofs0026:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs000f
|
||||
ofs002d:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForBreak",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForBreak")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
149
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForContinue.as
Normal file
149
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForContinue.as
Normal file
@@ -0,0 +1,149 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForContinue
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForContinue()
|
||||
{
|
||||
method
|
||||
name "tests:TestForContinue/TestForContinue"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForContinue/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs0063
|
||||
ofs000f:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 9
|
||||
ifne ofs004f
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
ifne ofs0029
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "part1"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
jump ofs005d
|
||||
ofs0029:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "a="
|
||||
getlocal1
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifne ofs0044
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "part2"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
jump ofs005d
|
||||
ofs0044:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "part3"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
jump ofs0056
|
||||
ofs004f:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "part4"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
ofs0056:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")])
|
||||
pushstring "part5"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForContinue"),ProtectedNamespace("tests:TestForContinue"),StaticProtectedNs("tests:TestForContinue"),PrivateNamespace("TestForContinue.as$0")]), 1
|
||||
ofs005d:
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
add
|
||||
coerce_a
|
||||
setlocal1
|
||||
ofs0063:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs000f
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForContinue",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForContinue")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
143
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEach.as
Normal file
143
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEach.as
Normal file
@@ -0,0 +1,143 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEach
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEach()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEach/TestForEach"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEach/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "list", 0, 13
|
||||
debug 1, "item", 1, 14
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"Array")
|
||||
constructprop QName(PackageNamespace(""),"Array"), 0
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
pushstring "first"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEach"),ProtectedNamespace("tests:TestForEach"),StaticProtectedNs("tests:TestForEach"),PrivateNamespace("TestForEach.as$0")])
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
pushstring "second"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEach"),ProtectedNamespace("tests:TestForEach"),StaticProtectedNs("tests:TestForEach"),PrivateNamespace("TestForEach.as$0")])
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
pushstring "third"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEach"),ProtectedNamespace("tests:TestForEach"),StaticProtectedNs("tests:TestForEach"),PrivateNamespace("TestForEach.as$0")])
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
jump ofs004b
|
||||
ofs003b:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
coerce_a
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEach"),ProtectedNamespace("tests:TestForEach"),StaticProtectedNs("tests:TestForEach"),PrivateNamespace("TestForEach.as$0")])
|
||||
pushstring "item #"
|
||||
getlocal2
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEach"),ProtectedNamespace("tests:TestForEach"),StaticProtectedNs("tests:TestForEach"),PrivateNamespace("TestForEach.as$0")]), 1
|
||||
ofs004b:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs003b
|
||||
kill 4
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEach",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEach")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachObjectArray
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEachObjectArray()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachObjectArray/TestForEachObjectArray"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachObjectArray/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "list", 0, 13
|
||||
debug 1, "test", 1, 14
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"Array")
|
||||
constructprop QName(PackageNamespace(""),"Array"), 0
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
pushstring "first"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
pushstring "second"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
pushstring "third"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
findpropstrict QName(PackageNamespace(""),"Array")
|
||||
constructprop QName(PackageNamespace(""),"Array"), 0
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal2
|
||||
getlocal2
|
||||
pushbyte 0
|
||||
pushbyte 0
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
jump ofs0062
|
||||
ofs004b:
|
||||
label
|
||||
getlocal2
|
||||
pushbyte 0
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
pushstring "item #"
|
||||
getlocal2
|
||||
pushbyte 0
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")])
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectArray"),ProtectedNamespace("tests:TestForEachObjectArray"),StaticProtectedNs("tests:TestForEachObjectArray"),PrivateNamespace("TestForEachObjectArray.as$0")]), 1
|
||||
ofs0062:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs004b
|
||||
kill 4
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachObjectArray",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachObjectArray")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachObjectAttribute
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var testPriv:int = 5;
|
||||
|
||||
public function TestForEachObjectAttribute()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachObjectAttribute/TestForEachObjectAttribute"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachObjectAttribute/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "list", 0, 15
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"Array")
|
||||
constructprop QName(PackageNamespace(""),"Array"), 0
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
pushstring "first"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectAttribute"),ProtectedNamespace("tests:TestForEachObjectAttribute"),StaticProtectedNs("tests:TestForEachObjectAttribute"),PrivateNamespace("TestForEachObjectAttribute.as$0")])
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
pushstring "second"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectAttribute"),ProtectedNamespace("tests:TestForEachObjectAttribute"),StaticProtectedNs("tests:TestForEachObjectAttribute"),PrivateNamespace("TestForEachObjectAttribute.as$0")])
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
pushstring "third"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectAttribute"),ProtectedNamespace("tests:TestForEachObjectAttribute"),StaticProtectedNs("tests:TestForEachObjectAttribute"),PrivateNamespace("TestForEachObjectAttribute.as$0")])
|
||||
pushbyte 0
|
||||
setlocal2
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal3
|
||||
jump ofs0044
|
||||
ofs0032:
|
||||
label
|
||||
getlocal0
|
||||
getlocal3
|
||||
getlocal2
|
||||
nextvalue
|
||||
setproperty QName(PrivateNamespace("tests:TestForEachObjectAttribute"),"testPriv")
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectAttribute"),ProtectedNamespace("tests:TestForEachObjectAttribute"),StaticProtectedNs("tests:TestForEachObjectAttribute"),PrivateNamespace("TestForEachObjectAttribute.as$0")])
|
||||
pushstring "item #"
|
||||
getlocal0
|
||||
getproperty QName(PrivateNamespace("tests:TestForEachObjectAttribute"),"testPriv")
|
||||
add
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachObjectAttribute"),ProtectedNamespace("tests:TestForEachObjectAttribute"),StaticProtectedNs("tests:TestForEachObjectAttribute"),PrivateNamespace("TestForEachObjectAttribute.as$0")]), 1
|
||||
ofs0044:
|
||||
hasnext2 3, 2
|
||||
iftrue ofs0032
|
||||
kill 3
|
||||
kill 2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachObjectAttribute",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachObjectAttribute")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
149
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachReturn.as
Normal file
149
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachReturn.as
Normal file
@@ -0,0 +1,149 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachReturn
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEachReturn()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachReturn/TestForEachReturn"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachReturn/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "list", 0, 13
|
||||
debug 1, "item", 1, 14
|
||||
debug 1, "_loc3_", 2, 19
|
||||
debug 1, "_loc4_", 3, 20
|
||||
pushnull
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal2
|
||||
findpropstrict QName(PackageNamespace(""),"Array")
|
||||
constructprop QName(PackageNamespace(""),"Array"), 0
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
pushstring "first"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachReturn"),ProtectedNamespace("tests:TestForEachReturn"),StaticProtectedNs("tests:TestForEachReturn"),PrivateNamespace("TestForEachReturn.as$0")])
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
pushstring "second"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachReturn"),ProtectedNamespace("tests:TestForEachReturn"),StaticProtectedNs("tests:TestForEachReturn"),PrivateNamespace("TestForEachReturn.as$0")])
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
pushstring "third"
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachReturn"),ProtectedNamespace("tests:TestForEachReturn"),StaticProtectedNs("tests:TestForEachReturn"),PrivateNamespace("TestForEachReturn.as$0")])
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
pushbyte 0
|
||||
setlocal 5
|
||||
getlocal 4
|
||||
coerce_a
|
||||
setlocal 6
|
||||
jump ofs0059
|
||||
ofs004f:
|
||||
label
|
||||
getlocal 6
|
||||
getlocal 5
|
||||
nextvalue
|
||||
coerce_a
|
||||
setlocal2
|
||||
getlocal2
|
||||
returnvalue
|
||||
ofs0059:
|
||||
hasnext2 6, 5
|
||||
iftrue ofs004f
|
||||
kill 6
|
||||
kill 5
|
||||
pushnull
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachReturn",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachReturn")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachReturn2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEachReturn2()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachReturn2/TestForEachReturn2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachReturn2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "item", 0, 13
|
||||
debug 1, "obj", 1, 14
|
||||
debug 1, "x", 2, 15
|
||||
pushundefined
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushnull
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal3
|
||||
getlocal3
|
||||
pushnull
|
||||
ifeq ofs00a4
|
||||
newobject 0
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
setlocal 4
|
||||
getlocal2
|
||||
coerce_a
|
||||
setlocal 5
|
||||
jump ofs0099
|
||||
ofs0031:
|
||||
label
|
||||
getlocal 5
|
||||
getlocal 4
|
||||
nextvalue
|
||||
coerce_a
|
||||
setlocal1
|
||||
jump ofs0045
|
||||
ofs003d:
|
||||
label
|
||||
getlocal1
|
||||
returnvalue
|
||||
ofs0040:
|
||||
label
|
||||
jump ofs0099
|
||||
ofs0045:
|
||||
getlocal1
|
||||
pushstring "key"
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachReturn2"),ProtectedNamespace("tests:TestForEachReturn2"),StaticProtectedNs("tests:TestForEachReturn2"),PrivateNamespace("TestForEachReturn2.as$0")])
|
||||
setlocal 6
|
||||
pushbyte 1
|
||||
getlocal 6
|
||||
ifstrictne ofs005a
|
||||
pushbyte 0
|
||||
jump ofs0086
|
||||
ofs005a:
|
||||
pushbyte 2
|
||||
getlocal 6
|
||||
ifstrictne ofs0068
|
||||
pushbyte 1
|
||||
jump ofs0086
|
||||
ofs0068:
|
||||
pushbyte 3
|
||||
getlocal 6
|
||||
ifstrictne ofs0076
|
||||
pushbyte 2
|
||||
jump ofs0086
|
||||
ofs0076:
|
||||
pushbyte 4
|
||||
getlocal 6
|
||||
ifstrictne ofs0084
|
||||
pushbyte 3
|
||||
jump ofs0086
|
||||
ofs0084:
|
||||
pushbyte -1
|
||||
ofs0086:
|
||||
kill 6
|
||||
lookupswitch ofs0040, [ofs003d, ofs003d, ofs003d, ofs003d]
|
||||
ofs0099:
|
||||
hasnext2 5, 4
|
||||
iftrue ofs0031
|
||||
kill 5
|
||||
kill 4
|
||||
ofs00a4:
|
||||
pushnull
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachReturn2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachReturn2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
212
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachSwitch.as
Normal file
212
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachSwitch.as
Normal file
@@ -0,0 +1,212 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachSwitch
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEachSwitch()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachSwitch/TestForEachSwitch"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachSwitch/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 10
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "name", 0, 13
|
||||
debug 1, "a", 1, 14
|
||||
debug 1, "b", 2, 15
|
||||
debug 1, "c", 3, 16
|
||||
debug 1, "s", 4, 17
|
||||
debug 1, "obj", 5, 18
|
||||
pushnull
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal2
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal3
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal 4
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal 5
|
||||
newobject 0
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setlocal 6
|
||||
pushbyte 0
|
||||
setlocal 7
|
||||
getlocal 6
|
||||
coerce_a
|
||||
setlocal 8
|
||||
jump ofs00f4
|
||||
ofs0045:
|
||||
label
|
||||
getlocal 8
|
||||
getlocal 7
|
||||
nextvalue
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal2
|
||||
iffalse ofs00ed
|
||||
jump ofs008f
|
||||
ofs0056:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "1"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
getlocal3
|
||||
iffalse ofs006a
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "1b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
ofs006a:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "2"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
jump ofs00e0
|
||||
ofs0076:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "3"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
jump ofs00e0
|
||||
ofs0082:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "4"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
ofs008a:
|
||||
label
|
||||
jump ofs00e0
|
||||
ofs008f:
|
||||
getlocal 5
|
||||
setlocal 9
|
||||
pushbyte 1
|
||||
getlocal 9
|
||||
ifstrictne ofs00a1
|
||||
pushbyte 0
|
||||
jump ofs00cd
|
||||
ofs00a1:
|
||||
pushbyte 2
|
||||
getlocal 9
|
||||
ifstrictne ofs00af
|
||||
pushbyte 1
|
||||
jump ofs00cd
|
||||
ofs00af:
|
||||
pushbyte 3
|
||||
getlocal 9
|
||||
ifstrictne ofs00bd
|
||||
pushbyte 2
|
||||
jump ofs00cd
|
||||
ofs00bd:
|
||||
pushbyte 4
|
||||
getlocal 9
|
||||
ifstrictne ofs00cb
|
||||
pushbyte 3
|
||||
jump ofs00cd
|
||||
ofs00cb:
|
||||
pushbyte -1
|
||||
ofs00cd:
|
||||
kill 9
|
||||
lookupswitch ofs008a, [ofs0056, ofs006a, ofs0076, ofs0082]
|
||||
ofs00e0:
|
||||
getlocal 4
|
||||
iffalse ofs00ed
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "2c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
ofs00ed:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")])
|
||||
pushstring "before_continue"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachSwitch"),ProtectedNamespace("tests:TestForEachSwitch"),StaticProtectedNs("tests:TestForEachSwitch"),PrivateNamespace("TestForEachSwitch.as$0")]), 1
|
||||
ofs00f4:
|
||||
hasnext2 8, 7
|
||||
iftrue ofs0045
|
||||
kill 8
|
||||
kill 7
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachSwitch",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachSwitch")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
185
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachTry.as
Normal file
185
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForEachTry.as
Normal file
@@ -0,0 +1,185 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForEachTry
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForEachTry()
|
||||
{
|
||||
method
|
||||
name "tests:TestForEachTry/TestForEachTry"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForEachTry/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 5
|
||||
initscopedepth 5
|
||||
maxscopedepth 10
|
||||
trait slot QName(PackageInternalNs("tests"),"name")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"list")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Object")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"b")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"Boolean")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushnull
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
newobject 0
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushtrue
|
||||
convert_b
|
||||
setslot 3
|
||||
pushbyte 0
|
||||
setlocal2
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
coerce_a
|
||||
setlocal3
|
||||
jump ofs0079
|
||||
ofs002c:
|
||||
label
|
||||
getscopeobject 1
|
||||
getlocal3
|
||||
getlocal2
|
||||
nextvalue
|
||||
coerce_s
|
||||
setslot 1
|
||||
ofs0035:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")])
|
||||
pushstring "xx"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getslot 3
|
||||
iffalse ofs004f
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")]), 1
|
||||
jump ofs0056
|
||||
ofs004f:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")]), 1
|
||||
ofs0056:
|
||||
jump ofs0072
|
||||
ofs005a:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal 4
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")]), 1
|
||||
popscope
|
||||
kill 4
|
||||
ofs0072:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForEachTry"),ProtectedNamespace("tests:TestForEachTry"),StaticProtectedNs("tests:TestForEachTry"),PrivateNamespace("TestForEachTry.as$0")]), 1
|
||||
ofs0079:
|
||||
hasnext2 3, 2
|
||||
iftrue ofs002c
|
||||
kill 3
|
||||
kill 2
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs0035 to ofs0056 target ofs005a type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForEachTry",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForEachTry")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
143
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForGoto.as
Normal file
143
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForGoto.as
Normal file
@@ -0,0 +1,143 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForGoto
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForGoto()
|
||||
{
|
||||
method
|
||||
name "tests:TestForGoto/TestForGoto"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForGoto/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "c", 0, 13
|
||||
debug 1, "len", 1, 14
|
||||
debug 1, "i", 2, 15
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
convert_u
|
||||
setlocal3
|
||||
jump ofs0053
|
||||
ofs0021:
|
||||
label
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
ifne ofs0038
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")]), 1
|
||||
jump ofs004a
|
||||
ofs0038:
|
||||
getlocal1
|
||||
pushbyte 3
|
||||
ifeq ofs0043
|
||||
jump ofs0051
|
||||
ofs0043:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")]), 1
|
||||
ofs004a:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")]), 1
|
||||
ofs0051:
|
||||
inclocal 3
|
||||
ofs0053:
|
||||
getlocal3
|
||||
getlocal2
|
||||
iflt ofs0021
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")])
|
||||
pushstring "exit"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForGoto"),ProtectedNamespace("tests:TestForGoto"),StaticProtectedNs("tests:TestForGoto"),PrivateNamespace("TestForGoto.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForGoto",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForGoto")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
148
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForIn.as
Normal file
148
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForIn.as
Normal file
@@ -0,0 +1,148 @@
|
||||
package tests
|
||||
{
|
||||
import flash.utils.Dictionary;
|
||||
|
||||
public class TestForIn
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForIn()
|
||||
{
|
||||
method
|
||||
name "tests:TestForIn/TestForIn"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForIn/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "dic", 0, 15
|
||||
debug 1, "item", 1, 16
|
||||
pushnull
|
||||
coerce QName(PackageNamespace("flash.utils"),"Dictionary")
|
||||
setlocal1
|
||||
pushnull
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
jump ofs002b
|
||||
ofs001e:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextname
|
||||
coerce_a
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForIn"),ProtectedNamespace("tests:TestForIn"),StaticProtectedNs("tests:TestForIn"),PrivateNamespace("TestForIn.as$0")])
|
||||
getlocal2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForIn"),ProtectedNamespace("tests:TestForIn"),StaticProtectedNs("tests:TestForIn"),PrivateNamespace("TestForIn.as$0")]), 1
|
||||
ofs002b:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs001e
|
||||
kill 4
|
||||
kill 3
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
jump ofs004e
|
||||
ofs0041:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
coerce_a
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForIn"),ProtectedNamespace("tests:TestForIn"),StaticProtectedNs("tests:TestForIn"),PrivateNamespace("TestForIn.as$0")])
|
||||
getlocal2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForIn"),ProtectedNamespace("tests:TestForIn"),StaticProtectedNs("tests:TestForIn"),PrivateNamespace("TestForIn.as$0")]), 1
|
||||
ofs004e:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs0041
|
||||
kill 4
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForIn",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForIn")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
144
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInIf.as
Normal file
144
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInIf.as
Normal file
@@ -0,0 +1,144 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForInIf
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForInIf()
|
||||
{
|
||||
method
|
||||
name "tests:TestForInIf/TestForInIf"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForInIf/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 6
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "arr", 1, 14
|
||||
debug 1, "b", 2, 15
|
||||
pushnull
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushstring "a"
|
||||
pushstring "b"
|
||||
pushstring "c"
|
||||
newarray 3
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal2
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
setlocal 4
|
||||
getlocal2
|
||||
coerce_a
|
||||
setlocal 5
|
||||
jump ofs0054
|
||||
ofs002f:
|
||||
label
|
||||
getlocal 5
|
||||
getlocal 4
|
||||
nextname
|
||||
coerce_s
|
||||
setlocal1
|
||||
getlocal3
|
||||
pushbyte 5
|
||||
ifne ofs004d
|
||||
getlocal3
|
||||
pushbyte 7
|
||||
ifnle ofs0046
|
||||
returnvoid
|
||||
ofs0046:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInIf"),ProtectedNamespace("tests:TestForInIf"),StaticProtectedNs("tests:TestForInIf"),PrivateNamespace("TestForInIf.as$0")])
|
||||
pushstring "b>7"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInIf"),ProtectedNamespace("tests:TestForInIf"),StaticProtectedNs("tests:TestForInIf"),PrivateNamespace("TestForInIf.as$0")]), 1
|
||||
ofs004d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInIf"),ProtectedNamespace("tests:TestForInIf"),StaticProtectedNs("tests:TestForInIf"),PrivateNamespace("TestForInIf.as$0")])
|
||||
pushstring "forend"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInIf"),ProtectedNamespace("tests:TestForInIf"),StaticProtectedNs("tests:TestForInIf"),PrivateNamespace("TestForInIf.as$0")]), 1
|
||||
ofs0054:
|
||||
hasnext2 5, 4
|
||||
iftrue ofs002f
|
||||
kill 5
|
||||
kill 4
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForInIf",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForInIf")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
135
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInReturn.as
Normal file
135
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInReturn.as
Normal file
@@ -0,0 +1,135 @@
|
||||
package tests
|
||||
{
|
||||
import flash.utils.Dictionary;
|
||||
|
||||
public class TestForInReturn
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForInReturn()
|
||||
{
|
||||
method
|
||||
name "tests:TestForInReturn/TestForInReturn"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForInReturn/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 7
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "dic", 0, 15
|
||||
debug 1, "item", 1, 16
|
||||
debug 1, "_loc3_", 2, 17
|
||||
debug 1, "_loc4_", 3, 18
|
||||
pushnull
|
||||
coerce QName(PackageNamespace("flash.utils"),"Dictionary")
|
||||
setlocal1
|
||||
pushnull
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal3
|
||||
getlocal1
|
||||
coerce_a
|
||||
setlocal 4
|
||||
pushbyte 0
|
||||
setlocal 5
|
||||
getlocal 4
|
||||
coerce_a
|
||||
setlocal 6
|
||||
jump ofs003c
|
||||
ofs0032:
|
||||
label
|
||||
getlocal 6
|
||||
getlocal 5
|
||||
nextname
|
||||
coerce_a
|
||||
setlocal2
|
||||
getlocal2
|
||||
returnvalue
|
||||
ofs003c:
|
||||
hasnext2 6, 5
|
||||
iftrue ofs0032
|
||||
kill 6
|
||||
kill 5
|
||||
pushnull
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForInReturn",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForInReturn")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
175
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInSwitch.as
Normal file
175
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForInSwitch.as
Normal file
@@ -0,0 +1,175 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForInSwitch
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForInSwitch()
|
||||
{
|
||||
method
|
||||
name "tests:TestForInSwitch/TestForInSwitch"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForInSwitch/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 6
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "arr", 1, 14
|
||||
pushnull
|
||||
coerce_s
|
||||
setlocal1
|
||||
pushstring "a"
|
||||
pushstring "b"
|
||||
pushstring "c"
|
||||
newarray 3
|
||||
coerce QName(PackageNamespace(""),"Array")
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getlocal2
|
||||
coerce_a
|
||||
setlocal 4
|
||||
jump ofs009b
|
||||
ofs0025:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextname
|
||||
coerce_s
|
||||
setlocal1
|
||||
jump ofs0055
|
||||
ofs0030:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")])
|
||||
pushstring "val a"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")]), 1
|
||||
jump ofs0094
|
||||
ofs003c:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")])
|
||||
pushstring "val b"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")]), 1
|
||||
jump ofs0094
|
||||
ofs0048:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")])
|
||||
pushstring "val c"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")]), 1
|
||||
ofs0050:
|
||||
label
|
||||
jump ofs0094
|
||||
ofs0055:
|
||||
getlocal1
|
||||
setlocal 5
|
||||
pushstring "a"
|
||||
getlocal 5
|
||||
ifstrictne ofs0066
|
||||
pushbyte 0
|
||||
jump ofs0084
|
||||
ofs0066:
|
||||
pushstring "b"
|
||||
getlocal 5
|
||||
ifstrictne ofs0074
|
||||
pushbyte 1
|
||||
jump ofs0084
|
||||
ofs0074:
|
||||
pushstring "c"
|
||||
getlocal 5
|
||||
ifstrictne ofs0082
|
||||
pushbyte 2
|
||||
jump ofs0084
|
||||
ofs0082:
|
||||
pushbyte -1
|
||||
ofs0084:
|
||||
kill 5
|
||||
lookupswitch ofs0050, [ofs0030, ofs003c, ofs0048]
|
||||
ofs0094:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")])
|
||||
pushstring "final"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForInSwitch"),ProtectedNamespace("tests:TestForInSwitch"),StaticProtectedNs("tests:TestForInSwitch"),PrivateNamespace("TestForInSwitch.as$0")]), 1
|
||||
ofs009b:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs0025
|
||||
kill 4
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForInSwitch",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForInSwitch")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
249
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForXml.as
Normal file
249
libsrc/ffdec_lib/testexpected/as3_new/tests/TestForXml.as
Normal file
@@ -0,0 +1,249 @@
|
||||
package tests
|
||||
{
|
||||
public class TestForXml
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestForXml()
|
||||
{
|
||||
method
|
||||
name "tests:TestForXml/TestForXml"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestForXml/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 7
|
||||
initscopedepth 5
|
||||
maxscopedepth 8
|
||||
trait slot QName(PackageInternalNs("tests"),"i")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"c")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"name")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"myXML")
|
||||
slotid 4
|
||||
type QName(PackageNamespace(""),"XML")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"k")
|
||||
slotid 5
|
||||
type null
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"len")
|
||||
slotid 6
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 7
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"b")
|
||||
slotid 8
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushstring "ahoj"
|
||||
coerce_s
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
getlex QName(PackageNamespace(""),"XML")
|
||||
pushstring "<order id=\"604\">\r\n\{24} <book isbn=\"12345\">\r\n\{24} <title>"
|
||||
getscopeobject 1
|
||||
getslot 3
|
||||
esc_xelem
|
||||
add
|
||||
pushstring "</title>\r\n\{24} </book>\r\n\{22} </order>"
|
||||
add
|
||||
construct 1
|
||||
coerce QName(PackageNamespace(""),"XML")
|
||||
setslot 4
|
||||
getscopeobject 1
|
||||
pushnull
|
||||
coerce_a
|
||||
setslot 5
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
setslot 6
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
setslot 7
|
||||
getscopeobject 1
|
||||
pushbyte 6
|
||||
setslot 8
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 1
|
||||
jump ofs00d2
|
||||
ofs004f:
|
||||
label
|
||||
getscopeobject 1
|
||||
pushbyte 1
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
pushbyte 2
|
||||
ifne ofs006b
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")]), 1
|
||||
jump ofs0080
|
||||
ofs006b:
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
pushbyte 3
|
||||
ifeq ofs0079
|
||||
jump ofs0087
|
||||
ofs0079:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")]), 1
|
||||
ofs0080:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")]), 1
|
||||
ofs0087:
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setlocal3
|
||||
getscopeobject 1
|
||||
getslot 4
|
||||
getproperty Multiname("book",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
checkfilter
|
||||
coerce_a
|
||||
setlocal 4
|
||||
getlex QName(PackageNamespace(""),"XMLList")
|
||||
pushstring ""
|
||||
construct 1
|
||||
setlocal2
|
||||
jump ofs00c1
|
||||
ofs00a1:
|
||||
label
|
||||
getlocal 4
|
||||
getlocal3
|
||||
nextvalue
|
||||
dup
|
||||
setlocal 5
|
||||
dup
|
||||
setlocal 6
|
||||
pushwith
|
||||
getlex MultinameA("isbn",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
pushstring "12345"
|
||||
equals
|
||||
iffalse ofs00bc
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 5
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestForXml"),ProtectedNamespace("tests:TestForXml"),StaticProtectedNs("tests:TestForXml"),PrivateNamespace("TestForXml.as$0")])
|
||||
ofs00bc:
|
||||
popscope
|
||||
kill 6
|
||||
kill 5
|
||||
ofs00c1:
|
||||
hasnext2 4, 3
|
||||
iftrue ofs00a1
|
||||
kill 4
|
||||
kill 3
|
||||
getlocal2
|
||||
kill 2
|
||||
coerce_a
|
||||
setslot 5
|
||||
ofs00d2:
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
getscopeobject 1
|
||||
getslot 6
|
||||
iflt ofs004f
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestForXml",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestForXml")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
168
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGetProtected.as
Normal file
168
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGetProtected.as
Normal file
@@ -0,0 +1,168 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGetProtected
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
protected var attr:int = 5;
|
||||
|
||||
public function TestGetProtected()
|
||||
{
|
||||
method
|
||||
name "tests:TestGetProtected/TestGetProtected"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGetProtected/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "c", 0, 15
|
||||
debug 1, "a", 1, 17
|
||||
findpropstrict QName(PrivateNamespace("TestGetProtected.as$0"),"InnerClass")
|
||||
constructprop QName(PrivateNamespace("TestGetProtected.as$0"),"InnerClass"), 0
|
||||
coerce QName(PrivateNamespace("TestGetProtected.as$0"),"InnerClass")
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 2
|
||||
setproperty Multiname("attr",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGetProtected"),ProtectedNamespace("tests:TestGetProtected"),StaticProtectedNs("tests:TestGetProtected"),PrivateNamespace("TestGetProtected.as$0")])
|
||||
getlocal0
|
||||
getproperty QName(ProtectedNamespace("tests:TestGetProtected"),"attr")
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGetProtected"),ProtectedNamespace("tests:TestGetProtected"),StaticProtectedNs("tests:TestGetProtected"),PrivateNamespace("TestGetProtected.as$0")])
|
||||
getlocal2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGetProtected"),ProtectedNamespace("tests:TestGetProtected"),StaticProtectedNs("tests:TestGetProtected"),PrivateNamespace("TestGetProtected.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class InnerClass
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attr:int = 1;
|
||||
|
||||
public function InnerClass()
|
||||
{
|
||||
method
|
||||
name "TestGetProtected.as$0:InnerClass/InnerClass"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGetProtected",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGetProtected")
|
||||
findpropstrict Multiname("InnerClass",[PrivateNamespace("TestGetProtected.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestGetProtected.as$0"),"InnerClass")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
180
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos.as
Normal file
180
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos.as
Normal file
@@ -0,0 +1,180 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos/TestGotos"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
final public function run(param1:Object) : int
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
flag FINAL
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos/run"
|
||||
flag NEED_ACTIVATION
|
||||
param QName(PackageNamespace(""),"Object")
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 4
|
||||
initscopedepth 5
|
||||
maxscopedepth 10
|
||||
trait slot QName(PackageInternalNs("tests"),"param1")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"Object")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Boolean")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"b")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"Boolean")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "param1", 0, 0
|
||||
debug 1, "+$activation", 1, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlocal1
|
||||
coerce QName(PackageNamespace(""),"Object")
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushtrue
|
||||
convert_b
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushfalse
|
||||
convert_b
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
iffalse ofs0036
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")]), 1
|
||||
jump ofs007d
|
||||
ofs0036:
|
||||
getscopeobject 1
|
||||
getslot 3
|
||||
iffalse ofs0049
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")]), 1
|
||||
jump ofs007d
|
||||
ofs0049:
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
iffalse ofs0054
|
||||
pushbyte 7
|
||||
returnvalue
|
||||
ofs0054:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")])
|
||||
pushstring "x"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")]), 1
|
||||
ofs005b:
|
||||
jump ofs0076
|
||||
ofs005f:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal2
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal3
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")])
|
||||
pushstring "z"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")]), 1
|
||||
popscope
|
||||
kill 3
|
||||
ofs0076:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")])
|
||||
pushstring "after"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos"),ProtectedNamespace("tests:TestGotos"),StaticProtectedNs("tests:TestGotos"),PrivateNamespace("TestGotos.as$0")]), 1
|
||||
ofs007d:
|
||||
pushbyte 89
|
||||
returnvalue
|
||||
end ; code
|
||||
try from ofs0049 to ofs005b target ofs005f type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos2.as
Normal file
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos2.as
Normal file
@@ -0,0 +1,128 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos2()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos2/TestGotos2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : int
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos2/run"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
debug 1, "c", 2, 15
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal1
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal2
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal3
|
||||
getlocal1
|
||||
iffalse ofs003b
|
||||
getlocal2
|
||||
iffalse ofs0037
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")]), 1
|
||||
getlocal3
|
||||
iffalse ofs0037
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")]), 1
|
||||
ofs0037:
|
||||
jump ofs0042
|
||||
ofs003b:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")])
|
||||
pushstring "E"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos2"),ProtectedNamespace("tests:TestGotos2"),StaticProtectedNs("tests:TestGotos2"),PrivateNamespace("TestGotos2.as$0")]), 1
|
||||
ofs0042:
|
||||
pushbyte 5
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
142
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos3.as
Normal file
142
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos3.as
Normal file
@@ -0,0 +1,142 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos3
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos3()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos3/TestGotos3"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos3/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "i", 0, 13
|
||||
debug 1, "a", 1, 14
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
getlocal2
|
||||
pushbyte 5
|
||||
ifngt ofs0051
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0046
|
||||
ofs0023:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 3
|
||||
ifngt ofs003d
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifne ofs003d
|
||||
jump ofs004d
|
||||
ofs003d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")]), 1
|
||||
inclocal_i 1
|
||||
ofs0046:
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
iflt ofs0023
|
||||
ofs004d:
|
||||
jump ofs0058
|
||||
ofs0051:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")]), 1
|
||||
ofs0058:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")])
|
||||
pushstring "return"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos3"),ProtectedNamespace("tests:TestGotos3"),StaticProtectedNs("tests:TestGotos3"),PrivateNamespace("TestGotos3.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos3",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos3")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
146
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos4.as
Normal file
146
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos4.as
Normal file
@@ -0,0 +1,146 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos4
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos4()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos4/TestGotos4"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos4/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 10
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
pushbyte 3
|
||||
ifngt ofs0047
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
pushbyte 7
|
||||
ifnlt ofs0047
|
||||
ofs0025:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")]), 1
|
||||
ofs002c:
|
||||
jump ofs0040
|
||||
ofs0030:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0040:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")]), 1
|
||||
ofs0047:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")])
|
||||
pushstring "return"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos4"),ProtectedNamespace("tests:TestGotos4"),StaticProtectedNs("tests:TestGotos4"),PrivateNamespace("TestGotos4.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs0025 to ofs002c target ofs0030 type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"error") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos4",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos4")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
142
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos5.as
Normal file
142
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos5.as
Normal file
@@ -0,0 +1,142 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos5
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos5()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos5/TestGotos5"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos5/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "j", 0, 13
|
||||
debug 1, "s", 1, 14
|
||||
debug 1, "i", 2, 15
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushstring "A"
|
||||
coerce_s
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal3
|
||||
jump ofs0056
|
||||
ofs0021:
|
||||
label
|
||||
getlocal2
|
||||
pushstring "B"
|
||||
ifne ofs0034
|
||||
getlocal2
|
||||
pushstring "C"
|
||||
ifne ofs0034
|
||||
jump ofs0054
|
||||
ofs0034:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos5"),ProtectedNamespace("tests:TestGotos5"),StaticProtectedNs("tests:TestGotos5"),PrivateNamespace("TestGotos5.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos5"),ProtectedNamespace("tests:TestGotos5"),StaticProtectedNs("tests:TestGotos5"),PrivateNamespace("TestGotos5.as$0")]), 1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs004d
|
||||
ofs0043:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos5"),ProtectedNamespace("tests:TestGotos5"),StaticProtectedNs("tests:TestGotos5"),PrivateNamespace("TestGotos5.as$0")])
|
||||
pushstring "E"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos5"),ProtectedNamespace("tests:TestGotos5"),StaticProtectedNs("tests:TestGotos5"),PrivateNamespace("TestGotos5.as$0")]), 1
|
||||
inclocal_i 1
|
||||
ofs004d:
|
||||
getlocal1
|
||||
pushbyte 29
|
||||
iflt ofs0043
|
||||
ofs0054:
|
||||
inclocal_i 3
|
||||
ofs0056:
|
||||
getlocal3
|
||||
pushbyte 10
|
||||
iflt ofs0021
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos5",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos5")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
161
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos6.as
Normal file
161
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos6.as
Normal file
@@ -0,0 +1,161 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos6
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos6()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos6/TestGotos6"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos6/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "s", 1, 14
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal1
|
||||
pushstring "a"
|
||||
coerce_s
|
||||
setlocal2
|
||||
getlocal1
|
||||
iffalse ofs007c
|
||||
jump ofs003d
|
||||
ofs001c:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")])
|
||||
pushstring "is A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")]), 1
|
||||
jump ofs0078
|
||||
ofs0028:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")])
|
||||
pushstring "is B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")]), 1
|
||||
ofs0030:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")])
|
||||
pushstring "is BC"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")]), 1
|
||||
ofs0038:
|
||||
label
|
||||
jump ofs0078
|
||||
ofs003d:
|
||||
getlocal2
|
||||
setlocal3
|
||||
pushstring "a"
|
||||
getlocal3
|
||||
ifstrictne ofs004c
|
||||
pushbyte 0
|
||||
jump ofs0068
|
||||
ofs004c:
|
||||
pushstring "b"
|
||||
getlocal3
|
||||
ifstrictne ofs0059
|
||||
pushbyte 1
|
||||
jump ofs0068
|
||||
ofs0059:
|
||||
pushstring "c"
|
||||
getlocal3
|
||||
ifstrictne ofs0066
|
||||
pushbyte 2
|
||||
jump ofs0068
|
||||
ofs0066:
|
||||
pushbyte -1
|
||||
ofs0068:
|
||||
kill 3
|
||||
lookupswitch ofs0038, [ofs001c, ofs0028, ofs0030]
|
||||
ofs0078:
|
||||
jump ofs0083
|
||||
ofs007c:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")]), 1
|
||||
ofs0083:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")])
|
||||
pushstring "finish"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos6"),ProtectedNamespace("tests:TestGotos6"),StaticProtectedNs("tests:TestGotos6"),PrivateNamespace("TestGotos6.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos6",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos6")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
180
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos7.as
Normal file
180
libsrc/ffdec_lib/testexpected/as3_new/tests/TestGotos7.as
Normal file
@@ -0,0 +1,180 @@
|
||||
package tests
|
||||
{
|
||||
public class TestGotos7
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestGotos7()
|
||||
{
|
||||
method
|
||||
name "tests:TestGotos7/TestGotos7"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestGotos7/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "i", 0, 13
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs00ac
|
||||
ofs000f:
|
||||
label
|
||||
jump ofs0058
|
||||
ofs0014:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "zero"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
jump ofs00aa
|
||||
ofs0020:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "five"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
jump ofs00a3
|
||||
ofs002c:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "ten"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
jump ofs00a3
|
||||
ofs0038:
|
||||
label
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifne ofs0044
|
||||
jump ofs00aa
|
||||
ofs0044:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "one"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
ofs004b:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "def"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
label
|
||||
jump ofs00a3
|
||||
ofs0058:
|
||||
getlocal1
|
||||
setlocal2
|
||||
pushbyte 0
|
||||
getlocal2
|
||||
ifstrictne ofs0067
|
||||
pushbyte 0
|
||||
jump ofs0090
|
||||
ofs0067:
|
||||
pushbyte 5
|
||||
getlocal2
|
||||
ifstrictne ofs0074
|
||||
pushbyte 1
|
||||
jump ofs0090
|
||||
ofs0074:
|
||||
pushbyte 10
|
||||
getlocal2
|
||||
ifstrictne ofs0081
|
||||
pushbyte 2
|
||||
jump ofs0090
|
||||
ofs0081:
|
||||
pushbyte 1
|
||||
getlocal2
|
||||
ifstrictne ofs008e
|
||||
pushbyte 3
|
||||
jump ofs0090
|
||||
ofs008e:
|
||||
pushbyte -1
|
||||
ofs0090:
|
||||
kill 2
|
||||
lookupswitch ofs004b, [ofs0014, ofs0020, ofs002c, ofs0038]
|
||||
ofs00a3:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")])
|
||||
pushstring "before loop end"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestGotos7"),ProtectedNamespace("tests:TestGotos7"),StaticProtectedNs("tests:TestGotos7"),PrivateNamespace("TestGotos7.as$0")]), 1
|
||||
ofs00aa:
|
||||
inclocal_i 1
|
||||
ofs00ac:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs000f
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestGotos7",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestGotos7")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
99
libsrc/ffdec_lib/testexpected/as3_new/tests/TestHello.as
Normal file
99
libsrc/ffdec_lib/testexpected/as3_new/tests/TestHello.as
Normal file
@@ -0,0 +1,99 @@
|
||||
package tests
|
||||
{
|
||||
public class TestHello
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestHello()
|
||||
{
|
||||
method
|
||||
name "tests:TestHello/TestHello"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestHello/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestHello"),ProtectedNamespace("tests:TestHello"),StaticProtectedNs("tests:TestHello"),PrivateNamespace("TestHello.as$0")])
|
||||
pushstring "hello"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestHello"),ProtectedNamespace("tests:TestHello"),StaticProtectedNs("tests:TestHello"),PrivateNamespace("TestHello.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestHello",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestHello")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
107
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIf.as
Normal file
107
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIf.as
Normal file
@@ -0,0 +1,107 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIf
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIf()
|
||||
{
|
||||
method
|
||||
name "tests:TestIf/TestIf"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIf/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifne ofs0019
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIf"),ProtectedNamespace("tests:TestIf"),StaticProtectedNs("tests:TestIf"),PrivateNamespace("TestIf.as$0")])
|
||||
pushstring "onTrue"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIf"),ProtectedNamespace("tests:TestIf"),StaticProtectedNs("tests:TestIf"),PrivateNamespace("TestIf.as$0")]), 1
|
||||
ofs0019:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIf",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIf")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
112
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfElse.as
Normal file
112
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfElse.as
Normal file
@@ -0,0 +1,112 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIfElse
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIfElse()
|
||||
{
|
||||
method
|
||||
name "tests:TestIfElse/TestIfElse"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIfElse/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifne ofs001d
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfElse"),ProtectedNamespace("tests:TestIfElse"),StaticProtectedNs("tests:TestIfElse"),PrivateNamespace("TestIfElse.as$0")])
|
||||
pushstring "onTrue"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfElse"),ProtectedNamespace("tests:TestIfElse"),StaticProtectedNs("tests:TestIfElse"),PrivateNamespace("TestIfElse.as$0")]), 1
|
||||
jump ofs0024
|
||||
ofs001d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfElse"),ProtectedNamespace("tests:TestIfElse"),StaticProtectedNs("tests:TestIfElse"),PrivateNamespace("TestIfElse.as$0")])
|
||||
pushstring "onFalse"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfElse"),ProtectedNamespace("tests:TestIfElse"),StaticProtectedNs("tests:TestIfElse"),PrivateNamespace("TestIfElse.as$0")]), 1
|
||||
ofs0024:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIfElse",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIfElse")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
172
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfFinally.as
Normal file
172
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfFinally.as
Normal file
@@ -0,0 +1,172 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIfFinally
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIfFinally()
|
||||
{
|
||||
method
|
||||
name "tests:TestIfFinally/TestIfFinally"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIfFinally/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 4
|
||||
initscopedepth 5
|
||||
maxscopedepth 12
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlex QName(PackageNamespace(""),"Math")
|
||||
callproperty QName(PackageNamespace(""),"random"), 0
|
||||
convert_i
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
pushbyte 5
|
||||
ifne ofs0071
|
||||
ofs001f:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")])
|
||||
pushstring "in try body"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")]), 1
|
||||
ofs0026:
|
||||
jump ofs0041
|
||||
ofs002a:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")])
|
||||
pushstring "in catch"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0041:
|
||||
pushbyte -1
|
||||
ofs0043:
|
||||
jump ofs0062
|
||||
ofs0047:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 1
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
popscope
|
||||
kill 2
|
||||
coerce_a
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
jump ofs0062
|
||||
label
|
||||
pop
|
||||
ofs005d:
|
||||
label
|
||||
getlocal3
|
||||
kill 3
|
||||
throw
|
||||
ofs0062:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")])
|
||||
pushstring "in finally"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfFinally"),ProtectedNamespace("tests:TestIfFinally"),StaticProtectedNs("tests:TestIfFinally"),PrivateNamespace("TestIfFinally.as$0")]), 1
|
||||
lookupswitch ofs0071, [ofs005d]
|
||||
ofs0071:
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs001f to ofs0026 target ofs002a type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
try from ofs001f to ofs0043 target ofs0047 type null name null end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIfFinally",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIfFinally")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
146
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfInIf.as
Normal file
146
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfInIf.as
Normal file
@@ -0,0 +1,146 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIfInIf
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIfInIf()
|
||||
{
|
||||
method
|
||||
name "tests:TestIfInIf/TestIfInIf"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : int
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIfInIf/run"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
greaterthan
|
||||
dup
|
||||
iffalse ofs0019
|
||||
pop
|
||||
getlocal1
|
||||
pushbyte 20
|
||||
lessthan
|
||||
ofs0019:
|
||||
iffalse ofs0032
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
ifnlt ofs002e
|
||||
pushbyte 1
|
||||
returnvalue
|
||||
ofs002e:
|
||||
jump ofs0055
|
||||
ofs0032:
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
greaterthan
|
||||
dup
|
||||
iffalse ofs0040
|
||||
pop
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
lessthan
|
||||
ofs0040:
|
||||
iffalse ofs0055
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")]), 1
|
||||
getlocal1
|
||||
pushbyte 7
|
||||
ifnlt ofs0055
|
||||
pushbyte 2
|
||||
returnvalue
|
||||
ofs0055:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInIf"),ProtectedNamespace("tests:TestIfInIf"),StaticProtectedNs("tests:TestIfInIf"),PrivateNamespace("TestIfInIf.as$0")]), 1
|
||||
pushbyte 7
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIfInIf",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIfInIf")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIfInsteadSwitch
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIfInsteadSwitch()
|
||||
{
|
||||
method
|
||||
name "tests:TestIfInsteadSwitch/TestIfInsteadSwitch"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIfInsteadSwitch/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
ifngt ofs0020
|
||||
getlocal1
|
||||
pushbyte 0
|
||||
ifstrictne ofs0020
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInsteadSwitch"),ProtectedNamespace("tests:TestIfInsteadSwitch"),StaticProtectedNs("tests:TestIfInsteadSwitch"),PrivateNamespace("TestIfInsteadSwitch.as$0")])
|
||||
pushstring "X"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfInsteadSwitch"),ProtectedNamespace("tests:TestIfInsteadSwitch"),StaticProtectedNs("tests:TestIfInsteadSwitch"),PrivateNamespace("TestIfInsteadSwitch.as$0")]), 1
|
||||
ofs0020:
|
||||
getlocal1
|
||||
pushbyte 1
|
||||
ifstrictne ofs002a
|
||||
pushstring "A"
|
||||
returnvalue
|
||||
ofs002a:
|
||||
pushstring "B"
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIfInsteadSwitch",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIfInsteadSwitch")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
175
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfTry.as
Normal file
175
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIfTry.as
Normal file
@@ -0,0 +1,175 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIfTry
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIfTry()
|
||||
{
|
||||
method
|
||||
name "tests:TestIfTry/TestIfTry"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIfTry/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 10
|
||||
trait slot QName(PackageInternalNs("tests"),"c")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"i")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"b")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"Boolean")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
pushtrue
|
||||
convert_b
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
getslot 3
|
||||
iffalse ofs0052
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
jump ofs0046
|
||||
ofs0035:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")])
|
||||
pushstring "xx"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
increment_i
|
||||
setslot 2
|
||||
ofs0046:
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
iflt ofs0035
|
||||
ofs0052:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")])
|
||||
pushstring "in try"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")]), 1
|
||||
ofs0059:
|
||||
jump ofs0074
|
||||
ofs005d:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")])
|
||||
pushstring "in catch"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIfTry"),ProtectedNamespace("tests:TestIfTry"),StaticProtectedNs("tests:TestIfTry"),PrivateNamespace("TestIfTry.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs0074:
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs0052 to ofs0059 target ofs005d type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIfTry",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIfTry")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
129
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIgnoreAndOr.as
Normal file
129
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIgnoreAndOr.as
Normal file
@@ -0,0 +1,129 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIgnoreAndOr
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIgnoreAndOr()
|
||||
{
|
||||
method
|
||||
name "tests:TestIgnoreAndOr/TestIgnoreAndOr"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIgnoreAndOr/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "k", 0, 13
|
||||
getlex QName(PackageNamespace(""),"Math")
|
||||
callproperty QName(PackageNamespace(""),"random"), 0
|
||||
convert_i
|
||||
setlocal1
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
ifngt ofs001c
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")]), 1
|
||||
ofs001c:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
ifngt ofs002a
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")]), 1
|
||||
ofs002a:
|
||||
getlocal1
|
||||
pushbyte 15
|
||||
ifngt ofs0038
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")]), 1
|
||||
ofs0038:
|
||||
getlocal1
|
||||
pushbyte 20
|
||||
ifngt ofs0046
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIgnoreAndOr"),ProtectedNamespace("tests:TestIgnoreAndOr"),StaticProtectedNs("tests:TestIgnoreAndOr"),PrivateNamespace("TestIgnoreAndOr.as$0")]), 1
|
||||
ofs0046:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIgnoreAndOr",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIgnoreAndOr")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
package tests
|
||||
{
|
||||
public class TestImplicitCoerce
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestImplicitCoerce()
|
||||
{
|
||||
method
|
||||
name "tests:TestImplicitCoerce/TestImplicitCoerce"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestImplicitCoerce/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "j", 0, 13
|
||||
debug 1, "i", 1, 14
|
||||
debug 1, "r", 2, 15
|
||||
debug 1, "s", 3, 20
|
||||
pushbyte 2
|
||||
convert_i
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
convert_i
|
||||
setlocal2
|
||||
getlex QName(PackageNamespace(""),"Math")
|
||||
callproperty QName(PackageNamespace(""),"random"), 0
|
||||
coerce_a
|
||||
setlocal3
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal1
|
||||
findpropstrict QName(PackageNamespace(""),"Number")
|
||||
getlocal3
|
||||
pushbyte 1
|
||||
equals
|
||||
callproperty QName(PackageNamespace(""),"Number"), 1
|
||||
bitand
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
dup
|
||||
convert_b
|
||||
iffalse ofs0043
|
||||
pop
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
pushbyte 5
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
ofs0043:
|
||||
iffalse ofs004e
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImplicitCoerce"),ProtectedNamespace("tests:TestImplicitCoerce"),StaticProtectedNs("tests:TestImplicitCoerce"),PrivateNamespace("TestImplicitCoerce.as$0")])
|
||||
pushstring "OK"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImplicitCoerce"),ProtectedNamespace("tests:TestImplicitCoerce"),StaticProtectedNs("tests:TestImplicitCoerce"),PrivateNamespace("TestImplicitCoerce.as$0")]), 1
|
||||
ofs004e:
|
||||
pushstring "hello: "
|
||||
getlocal3
|
||||
add
|
||||
coerce_s
|
||||
setlocal 4
|
||||
findpropstrict QName(PackageNamespace(""),"Boolean")
|
||||
getlocal 4
|
||||
callproperty QName(PackageNamespace(""),"Boolean"), 1
|
||||
iffalse ofs0067
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImplicitCoerce"),ProtectedNamespace("tests:TestImplicitCoerce"),StaticProtectedNs("tests:TestImplicitCoerce"),PrivateNamespace("TestImplicitCoerce.as$0")])
|
||||
pushstring "F"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImplicitCoerce"),ProtectedNamespace("tests:TestImplicitCoerce"),StaticProtectedNs("tests:TestImplicitCoerce"),PrivateNamespace("TestImplicitCoerce.as$0")]), 1
|
||||
ofs0067:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestImplicitCoerce",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestImplicitCoerce")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
102
libsrc/ffdec_lib/testexpected/as3_new/tests/TestImportedConst.as
Normal file
102
libsrc/ffdec_lib/testexpected/as3_new/tests/TestImportedConst.as
Normal file
@@ -0,0 +1,102 @@
|
||||
package tests
|
||||
{
|
||||
import tests_classes.myconst;
|
||||
|
||||
public class TestImportedConst
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestImportedConst()
|
||||
{
|
||||
method
|
||||
name "tests:TestImportedConst/TestImportedConst"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestImportedConst/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImportedConst"),ProtectedNamespace("tests:TestImportedConst"),StaticProtectedNs("tests:TestImportedConst"),PrivateNamespace("TestImportedConst.as$0")])
|
||||
findproperty QName(PackageNamespace("tests_classes"),"myconst")
|
||||
getproperty QName(PackageNamespace("tests_classes"),"myconst")
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImportedConst"),ProtectedNamespace("tests:TestImportedConst"),StaticProtectedNs("tests:TestImportedConst"),PrivateNamespace("TestImportedConst.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestImportedConst",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestImportedConst")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
105
libsrc/ffdec_lib/testexpected/as3_new/tests/TestImportedVar.as
Normal file
105
libsrc/ffdec_lib/testexpected/as3_new/tests/TestImportedVar.as
Normal file
@@ -0,0 +1,105 @@
|
||||
package tests
|
||||
{
|
||||
import tests_classes.myvar;
|
||||
|
||||
public class TestImportedVar
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestImportedVar()
|
||||
{
|
||||
method
|
||||
name "tests:TestImportedVar/TestImportedVar"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestImportedVar/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImportedVar"),ProtectedNamespace("tests:TestImportedVar"),StaticProtectedNs("tests:TestImportedVar"),PrivateNamespace("TestImportedVar.as$0")])
|
||||
findproperty QName(PackageNamespace("tests_classes"),"myvar")
|
||||
getproperty QName(PackageNamespace("tests_classes"),"myvar")
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestImportedVar"),ProtectedNamespace("tests:TestImportedVar"),StaticProtectedNs("tests:TestImportedVar"),PrivateNamespace("TestImportedVar.as$0")]), 1
|
||||
findproperty QName(PackageNamespace("tests_classes"),"myvar")
|
||||
pushbyte 5
|
||||
setproperty QName(PackageNamespace("tests_classes"),"myvar")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestImportedVar",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestImportedVar")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec1.as
Normal file
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec1.as
Normal file
@@ -0,0 +1,128 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec1()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec1/TestIncDec1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec1/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
pushstring "++a with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
getlocal1
|
||||
increment
|
||||
dup
|
||||
coerce_a
|
||||
setlocal1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
pushstring "--a with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
getlocal1
|
||||
decrement
|
||||
dup
|
||||
coerce_a
|
||||
setlocal1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
pushstring "++a no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
inclocal 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")])
|
||||
pushstring "--a no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec1"),ProtectedNamespace("tests:TestIncDec1"),StaticProtectedNs("tests:TestIncDec1"),PrivateNamespace("TestIncDec1.as$0")]), 1
|
||||
declocal 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec1",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
160
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec10.as
Normal file
160
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec10.as
Normal file
@@ -0,0 +1,160 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec10
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var attrib:int = 0;
|
||||
|
||||
public function TestIncDec10()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec10/TestIncDec10"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec10/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
pushstring "attrib++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
dup
|
||||
increment_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
pushstring "attrib-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
dup
|
||||
decrement_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
pushstring "attrib++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
increment_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")])
|
||||
pushstring "attrib-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec10"),ProtectedNamespace("tests:TestIncDec10"),StaticProtectedNs("tests:TestIncDec10"),PrivateNamespace("TestIncDec10.as$0")]), 1
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
decrement_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec10"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec10",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec10")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec11.as
Normal file
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec11.as
Normal file
@@ -0,0 +1,159 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec11
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec11()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec11/TestIncDec11"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec11/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 2
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"f")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"slot")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
pushstring "++slot with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
increment_i
|
||||
dup
|
||||
convert_i
|
||||
getscopeobject 1
|
||||
swap
|
||||
setslot 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
pushstring "--slot with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
decrement_i
|
||||
dup
|
||||
convert_i
|
||||
getscopeobject 1
|
||||
swap
|
||||
setslot 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
pushstring "++slot no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
increment_i
|
||||
setslot 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")])
|
||||
pushstring "--slot no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec11"),ProtectedNamespace("tests:TestIncDec11"),StaticProtectedNs("tests:TestIncDec11"),PrivateNamespace("TestIncDec11.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
decrement_i
|
||||
setslot 2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec11",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec11")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec12.as
Normal file
159
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec12.as
Normal file
@@ -0,0 +1,159 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec12
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec12()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec12/TestIncDec12"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec12/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 2
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"f")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"slot")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
pushstring "slot++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
dup
|
||||
increment_i
|
||||
convert_i
|
||||
getscopeobject 1
|
||||
swap
|
||||
setslot 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
pushstring "slot-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
dup
|
||||
decrement_i
|
||||
convert_i
|
||||
getscopeobject 1
|
||||
swap
|
||||
setslot 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
pushstring "slot++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
increment_i
|
||||
setslot 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")])
|
||||
pushstring "slot-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec12"),ProtectedNamespace("tests:TestIncDec12"),StaticProtectedNs("tests:TestIncDec12"),PrivateNamespace("TestIncDec12.as$0")]), 1
|
||||
getscopeobject 1
|
||||
getscopeobject 1
|
||||
getslot 2
|
||||
decrement_i
|
||||
setslot 2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec12",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec12")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
215
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec13.as
Normal file
215
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec13.as
Normal file
@@ -0,0 +1,215 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec13
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec13()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec13/TestIncDec13"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec13/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
pushstring "++a[this.f()] with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec13"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
increment
|
||||
dup
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
pushstring "--a[this.f()] with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec13"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
decrement
|
||||
dup
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
pushstring "++a[this.f()] no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec13"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
pushstring "--a[this.f()] no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec13"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec13"),ProtectedNamespace("tests:TestIncDec13"),StaticProtectedNs("tests:TestIncDec13"),PrivateNamespace("TestIncDec13.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private function f() : int
|
||||
{
|
||||
trait method QName(PrivateNamespace("tests:TestIncDec13"),"f")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec13/private/f"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
pushbyte 0
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec13",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec13")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
217
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec14.as
Normal file
217
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec14.as
Normal file
@@ -0,0 +1,217 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec14
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec14()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec14/TestIncDec14"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec14/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
pushstring "a[this.f()]++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec14"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
pushstring "a[this.f()]-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec14"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
pushstring "a[this.f()]++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec14"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
pushstring "a[this.f()]-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getlocal0
|
||||
callproperty QName(PrivateNamespace("tests:TestIncDec14"),"f"), 0
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec14"),ProtectedNamespace("tests:TestIncDec14"),StaticProtectedNs("tests:TestIncDec14"),PrivateNamespace("TestIncDec14.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
private function f() : int
|
||||
{
|
||||
trait method QName(PrivateNamespace("tests:TestIncDec14"),"f")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec14/private/f"
|
||||
returns QName(PackageNamespace(""),"int")
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
pushbyte 0
|
||||
returnvalue
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec14",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec14")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec2.as
Normal file
128
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec2.as
Normal file
@@ -0,0 +1,128 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec2()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec2/TestIncDec2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec2/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 2
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
pushstring "a++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
increment
|
||||
coerce_a
|
||||
setlocal1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
pushstring "a-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
decrement
|
||||
coerce_a
|
||||
setlocal1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
pushstring "a++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
inclocal 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")])
|
||||
pushstring "a-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec2"),ProtectedNamespace("tests:TestIncDec2"),StaticProtectedNs("tests:TestIncDec2"),PrivateNamespace("TestIncDec2.as$0")]), 1
|
||||
declocal 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
187
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec3.as
Normal file
187
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec3.as
Normal file
@@ -0,0 +1,187 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec3
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec3()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec3/TestIncDec3"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec3/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
pushstring "++a[2] with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
increment
|
||||
dup
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
pushstring "--a[2] with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
decrement
|
||||
dup
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
pushstring "++a[2] no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
pushstring "--a[2] no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec3"),ProtectedNamespace("tests:TestIncDec3"),StaticProtectedNs("tests:TestIncDec3"),PrivateNamespace("TestIncDec3.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec3",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec3")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
189
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec4.as
Normal file
189
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec4.as
Normal file
@@ -0,0 +1,189 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec4
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec4()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec4/TestIncDec4"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec4/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
pushstring "a[2]++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
pushstring "a[2]-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
pushstring "a[2]++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
increment
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
pushstring "a[2]-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
pushbyte 2
|
||||
dup
|
||||
setlocal3
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
decrement
|
||||
setlocal 4
|
||||
getlocal2
|
||||
getlocal3
|
||||
getlocal 4
|
||||
setproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec4"),ProtectedNamespace("tests:TestIncDec4"),StaticProtectedNs("tests:TestIncDec4"),PrivateNamespace("TestIncDec4.as$0")])
|
||||
kill 4
|
||||
kill 2
|
||||
kill 3
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec4",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec4")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
217
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec5.as
Normal file
217
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec5.as
Normal file
@@ -0,0 +1,217 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec5
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec5()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec5/TestIncDec5"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec5/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
findpropstrict QName(PrivateNamespace("TestIncDec5.as$0"),"TestClass1")
|
||||
constructprop QName(PrivateNamespace("TestIncDec5.as$0"),"TestClass1"), 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
pushstring "++a.attrib with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
increment
|
||||
dup
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
pushstring "--a.attrib with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
decrement
|
||||
dup
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
pushstring "++a.attrib no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
increment
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
pushstring "--a.attrib no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
decrement
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec5"),ProtectedNamespace("tests:TestIncDec5"),StaticProtectedNs("tests:TestIncDec5"),PrivateNamespace("TestIncDec5.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attrib:int = 5;
|
||||
|
||||
public function TestClass1()
|
||||
{
|
||||
method
|
||||
name "TestIncDec5.as$0:TestClass1/TestClass1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec5",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec5")
|
||||
findpropstrict Multiname("TestClass1",[PrivateNamespace("TestIncDec5.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestIncDec5.as$0"),"TestClass1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
219
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec6.as
Normal file
219
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec6.as
Normal file
@@ -0,0 +1,219 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec6
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec6()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec6/TestIncDec6"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec6/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
findpropstrict QName(PrivateNamespace("TestIncDec6.as$0"),"TestClass1")
|
||||
constructprop QName(PrivateNamespace("TestIncDec6.as$0"),"TestClass1"), 0
|
||||
coerce_a
|
||||
setlocal1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
pushstring "a.attrib++ with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
increment
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
pushstring "a.attrib-- with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
convert_d
|
||||
dup
|
||||
decrement
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
pushstring "a.attrib++ no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
increment
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
pushstring "a.attrib-- no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")]), 1
|
||||
getlocal1
|
||||
dup
|
||||
setlocal2
|
||||
getproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
decrement
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
setproperty Multiname("attrib",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec6"),ProtectedNamespace("tests:TestIncDec6"),StaticProtectedNs("tests:TestIncDec6"),PrivateNamespace("TestIncDec6.as$0")])
|
||||
kill 3
|
||||
kill 2
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass1
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public var attrib:int = 5;
|
||||
|
||||
public function TestClass1()
|
||||
{
|
||||
method
|
||||
name "TestIncDec6.as$0:TestClass1/TestClass1"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec6",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec6")
|
||||
findpropstrict Multiname("TestClass1",[PrivateNamespace("TestIncDec6.as$0")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 1
|
||||
popscope
|
||||
initproperty QName(PrivateNamespace("TestIncDec6.as$0"),"TestClass1")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
133
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec7.as
Normal file
133
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec7.as
Normal file
@@ -0,0 +1,133 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec7
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec7()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec7/TestIncDec7"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec7/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "index", 1, 14
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
pushstring "a[++index]"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
getlocal1
|
||||
getlocal2
|
||||
increment_i
|
||||
dup
|
||||
convert_i
|
||||
setlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
pushstring "a[--index]"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
getlocal1
|
||||
getlocal2
|
||||
decrement_i
|
||||
dup
|
||||
convert_i
|
||||
setlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec7"),ProtectedNamespace("tests:TestIncDec7"),StaticProtectedNs("tests:TestIncDec7"),PrivateNamespace("TestIncDec7.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec7",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec7")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
133
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec8.as
Normal file
133
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec8.as
Normal file
@@ -0,0 +1,133 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec8
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestIncDec8()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec8/TestIncDec8"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec8/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 5
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "index", 1, 14
|
||||
pushbyte 1
|
||||
pushbyte 2
|
||||
pushbyte 3
|
||||
pushbyte 4
|
||||
pushbyte 5
|
||||
newarray 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal2
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
pushstring "a[index++]"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
getlocal1
|
||||
getlocal2
|
||||
dup
|
||||
increment_i
|
||||
convert_i
|
||||
setlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
pushstring "a[index--]"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
getlocal1
|
||||
getlocal2
|
||||
dup
|
||||
decrement_i
|
||||
convert_i
|
||||
setlocal2
|
||||
getproperty MultinameL([PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec8"),ProtectedNamespace("tests:TestIncDec8"),StaticProtectedNs("tests:TestIncDec8"),PrivateNamespace("TestIncDec8.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec8",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec8")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
160
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec9.as
Normal file
160
libsrc/ffdec_lib/testexpected/as3_new/tests/TestIncDec9.as
Normal file
@@ -0,0 +1,160 @@
|
||||
package tests
|
||||
{
|
||||
public class TestIncDec9
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
private var attrib:int = 0;
|
||||
|
||||
public function TestIncDec9()
|
||||
{
|
||||
method
|
||||
name "tests:TestIncDec9/TestIncDec9"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestIncDec9/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
pushstring "++attrib with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
increment_i
|
||||
dup
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
pushstring "--attrib with result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
decrement_i
|
||||
dup
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
pushstring "++attrib no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
increment_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")])
|
||||
pushstring "--attrib no result"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestIncDec9"),ProtectedNamespace("tests:TestIncDec9"),StaticProtectedNs("tests:TestIncDec9"),PrivateNamespace("TestIncDec9.as$0")]), 1
|
||||
getlocal0
|
||||
dup
|
||||
setlocal1
|
||||
getproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
decrement_i
|
||||
setlocal2
|
||||
getlocal1
|
||||
getlocal2
|
||||
setproperty QName(PrivateNamespace("tests:TestIncDec9"),"attrib")
|
||||
kill 2
|
||||
kill 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestIncDec9",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestIncDec9")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInlineFunctions
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInlineFunctions()
|
||||
{
|
||||
method
|
||||
name "tests:TestInlineFunctions/TestInlineFunctions"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInlineFunctions/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 2
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"first")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"traceParameter")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
pushnull
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushstring "value1"
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
newfunction 3
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 2
|
||||
findpropstrict Multiname("traceParameter",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInlineFunctions"),ProtectedNamespace("tests:TestInlineFunctions"),StaticProtectedNs("tests:TestInlineFunctions"),PrivateNamespace("TestInlineFunctions.as$0")])
|
||||
pushstring "hello"
|
||||
callpropvoid Multiname("traceParameter",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInlineFunctions"),ProtectedNamespace("tests:TestInlineFunctions"),StaticProtectedNs("tests:TestInlineFunctions"),PrivateNamespace("TestInlineFunctions.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInlineFunctions",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInlineFunctions")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInlineFunctions2
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInlineFunctions2()
|
||||
{
|
||||
method
|
||||
name "tests:TestInlineFunctions2/TestInlineFunctions2"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInlineFunctions2/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 4
|
||||
localcount 2
|
||||
initscopedepth 5
|
||||
maxscopedepth 8
|
||||
trait slot QName(PackageInternalNs("tests"),"f")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"g")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"h")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
newfunction 3
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
newobject 0
|
||||
pushwith
|
||||
newfunction 4
|
||||
dup
|
||||
getscopeobject 2
|
||||
swap
|
||||
setproperty QName(PackageNamespace("tests"),"h2")
|
||||
popscope
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 3
|
||||
newfunction 5
|
||||
getglobalscope
|
||||
pushbyte 1
|
||||
call 1
|
||||
pop
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInlineFunctions2",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInlineFunctions2")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInnerFunctionScope
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInnerFunctionScope()
|
||||
{
|
||||
method
|
||||
name "tests:TestInnerFunctionScope/TestInnerFunctionScope"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run(a:String) : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInnerFunctionScope/run"
|
||||
flag NEED_ACTIVATION
|
||||
param QName(PackageNamespace(""),"String")
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"innerFunc")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 0
|
||||
debug 1, "+$activation", 1, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlocal1
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 2
|
||||
findpropstrict Multiname("innerFunc",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerFunctionScope"),ProtectedNamespace("tests:TestInnerFunctionScope"),StaticProtectedNs("tests:TestInnerFunctionScope"),PrivateNamespace("TestInnerFunctionScope.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
callpropvoid Multiname("innerFunc",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerFunctionScope"),ProtectedNamespace("tests:TestInnerFunctionScope"),StaticProtectedNs("tests:TestInnerFunctionScope"),PrivateNamespace("TestInnerFunctionScope.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var testProm:int = 5;
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInnerFunctionScope",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInnerFunctionScope")
|
||||
findproperty QName(PrivateNamespace("TestInnerFunctionScope.as$0"),"testProm")
|
||||
pushbyte 5
|
||||
setproperty QName(PrivateNamespace("TestInnerFunctionScope.as$0"),"testProm")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInnerFunctions
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInnerFunctions()
|
||||
{
|
||||
method
|
||||
name "tests:TestInnerFunctions/TestInnerFunctions"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run(a:String) : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInnerFunctions/run"
|
||||
flag NEED_ACTIVATION
|
||||
param QName(PackageNamespace(""),"String")
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 5
|
||||
maxscopedepth 7
|
||||
trait slot QName(PackageInternalNs("tests"),"a")
|
||||
slotid 1
|
||||
type QName(PackageNamespace(""),"String")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"s")
|
||||
slotid 2
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"innerFunc")
|
||||
slotid 3
|
||||
type QName(PackageNamespace(""),"Function")
|
||||
end ; trait
|
||||
trait slot QName(PackageInternalNs("tests"),"k")
|
||||
slotid 4
|
||||
type QName(PackageNamespace(""),"int")
|
||||
end ; trait
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 0
|
||||
debug 1, "+$activation", 1, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
getscopeobject 1
|
||||
getlocal1
|
||||
coerce_s
|
||||
setslot 1
|
||||
getscopeobject 1
|
||||
pushbyte 0
|
||||
setslot 2
|
||||
getscopeobject 1
|
||||
newfunction 2
|
||||
coerce QName(PackageNamespace(""),"Function")
|
||||
setslot 3
|
||||
getscopeobject 1
|
||||
pushbyte 5
|
||||
setslot 4
|
||||
getscopeobject 1
|
||||
getslot 4
|
||||
pushbyte 6
|
||||
ifne ofs003a
|
||||
getscopeobject 1
|
||||
pushbyte 8
|
||||
setslot 2
|
||||
ofs003a:
|
||||
findpropstrict Multiname("innerFunc",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerFunctions"),ProtectedNamespace("tests:TestInnerFunctions"),StaticProtectedNs("tests:TestInnerFunctions"),PrivateNamespace("TestInnerFunctions.as$0")])
|
||||
getscopeobject 1
|
||||
getslot 1
|
||||
callpropvoid Multiname("innerFunc",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerFunctions"),ProtectedNamespace("tests:TestInnerFunctions"),StaticProtectedNs("tests:TestInnerFunctions"),PrivateNamespace("TestInnerFunctions.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInnerFunctions",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInnerFunctions")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
136
libsrc/ffdec_lib/testexpected/as3_new/tests/TestInnerIf.as
Normal file
136
libsrc/ffdec_lib/testexpected/as3_new/tests/TestInnerIf.as
Normal file
@@ -0,0 +1,136 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInnerIf
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInnerIf()
|
||||
{
|
||||
method
|
||||
name "tests:TestInnerIf/TestInnerIf"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInnerIf/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushbyte 4
|
||||
coerce_a
|
||||
setlocal2
|
||||
getlocal1
|
||||
pushbyte 5
|
||||
ifne ofs0038
|
||||
getlocal2
|
||||
pushbyte 6
|
||||
ifne ofs002d
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")])
|
||||
pushstring "b==6"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")]), 1
|
||||
jump ofs0034
|
||||
ofs002d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")])
|
||||
pushstring "b!=6"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")]), 1
|
||||
ofs0034:
|
||||
jump ofs0051
|
||||
ofs0038:
|
||||
getlocal2
|
||||
pushbyte 7
|
||||
ifne ofs004a
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")])
|
||||
pushstring "b==7"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")]), 1
|
||||
jump ofs0051
|
||||
ofs004a:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")])
|
||||
pushstring "b!=7"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")]), 1
|
||||
ofs0051:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")])
|
||||
pushstring "end"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerIf"),ProtectedNamespace("tests:TestInnerIf"),StaticProtectedNs("tests:TestInnerIf"),PrivateNamespace("TestInnerIf.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInnerIf",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInnerIf")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
183
libsrc/ffdec_lib/testexpected/as3_new/tests/TestInnerTry.as
Normal file
183
libsrc/ffdec_lib/testexpected/as3_new/tests/TestInnerTry.as
Normal file
@@ -0,0 +1,183 @@
|
||||
package tests
|
||||
{
|
||||
public class TestInnerTry
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestInnerTry()
|
||||
{
|
||||
method
|
||||
name "tests:TestInnerTry/TestInnerTry"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestInnerTry/run"
|
||||
flag NEED_ACTIVATION
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 4
|
||||
initscopedepth 5
|
||||
maxscopedepth 14
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "+$activation", 0, 0
|
||||
newactivation
|
||||
dup
|
||||
setlocal1
|
||||
pushscope
|
||||
ofs000b:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")])
|
||||
pushstring "try body 1"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")]), 1
|
||||
ofs0012:
|
||||
jump ofs002d
|
||||
ofs0016:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 0
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")])
|
||||
pushstring "catched DefinitionError"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs002d:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")])
|
||||
pushstring "after try 1"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")]), 1
|
||||
ofs0034:
|
||||
jump ofs004f
|
||||
ofs0038:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 1
|
||||
dup
|
||||
setlocal2
|
||||
dup
|
||||
pushscope
|
||||
swap
|
||||
setslot 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")])
|
||||
pushstring "catched Error"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")]), 1
|
||||
popscope
|
||||
kill 2
|
||||
ofs004f:
|
||||
pushbyte -1
|
||||
ofs0051:
|
||||
jump ofs0070
|
||||
ofs0055:
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal1
|
||||
pushscope
|
||||
newcatch 2
|
||||
dup
|
||||
setlocal2
|
||||
pushscope
|
||||
popscope
|
||||
kill 2
|
||||
coerce_a
|
||||
setlocal3
|
||||
pushbyte 0
|
||||
jump ofs0070
|
||||
label
|
||||
pop
|
||||
ofs006b:
|
||||
label
|
||||
getlocal3
|
||||
kill 3
|
||||
throw
|
||||
ofs0070:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")])
|
||||
pushstring "finally block"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestInnerTry"),ProtectedNamespace("tests:TestInnerTry"),StaticProtectedNs("tests:TestInnerTry"),PrivateNamespace("TestInnerTry.as$0")]), 1
|
||||
lookupswitch ofs007f, [ofs006b]
|
||||
ofs007f:
|
||||
returnvoid
|
||||
end ; code
|
||||
try from ofs000b to ofs0012 target ofs0016 type QName(PackageNamespace(""),"DefinitionError") name QName(PackageNamespace(""),"e") end
|
||||
try from ofs000b to ofs0034 target ofs0038 type QName(PackageNamespace(""),"Error") name QName(PackageNamespace(""),"e") end
|
||||
try from ofs000b to ofs0051 target ofs0055 type null name null end
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestInnerTry",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestInnerTry")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
package tests
|
||||
{
|
||||
public class TestLogicalComputing
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestLogicalComputing()
|
||||
{
|
||||
method
|
||||
name "tests:TestLogicalComputing/TestLogicalComputing"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestLogicalComputing/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "b", 0, 13
|
||||
debug 1, "i", 1, 14
|
||||
debug 1, "j", 2, 15
|
||||
pushfalse
|
||||
convert_b
|
||||
setlocal1
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 7
|
||||
coerce_a
|
||||
setlocal3
|
||||
getlocal2
|
||||
getlocal3
|
||||
ifngt ofs0029
|
||||
pushbyte 9
|
||||
coerce_a
|
||||
setlocal3
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal1
|
||||
ofs0029:
|
||||
getlocal2
|
||||
pushbyte 0
|
||||
equals
|
||||
dup
|
||||
iftrue ofs0037
|
||||
pop
|
||||
getlocal2
|
||||
pushbyte 1
|
||||
equals
|
||||
ofs0037:
|
||||
dup
|
||||
iffalse ofs0041
|
||||
pop
|
||||
getlocal3
|
||||
pushbyte 0
|
||||
equals
|
||||
ofs0041:
|
||||
convert_b
|
||||
setlocal1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestLogicalComputing",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestLogicalComputing")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
166
libsrc/ffdec_lib/testexpected/as3_new/tests/TestLoopInLoop.as
Normal file
166
libsrc/ffdec_lib/testexpected/as3_new/tests/TestLoopInLoop.as
Normal file
@@ -0,0 +1,166 @@
|
||||
package tests
|
||||
{
|
||||
public class TestLoopInLoop
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestLoopInLoop()
|
||||
{
|
||||
method
|
||||
name "tests:TestLoopInLoop/TestLoopInLoop"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestLoopInLoop/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 5
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "i", 0, 13
|
||||
debug 1, "a", 1, 14
|
||||
debug 1, "b", 2, 15
|
||||
debug 1, "c", 3, 16
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal2
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal3
|
||||
pushtrue
|
||||
convert_b
|
||||
setlocal 4
|
||||
jump ofs008d
|
||||
ofs0028:
|
||||
label
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "A"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
pushbyte 0
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs007d
|
||||
ofs0038:
|
||||
label
|
||||
getlocal2
|
||||
not
|
||||
iffalse ofs007b
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "B"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
getlocal 4
|
||||
iffalse ofs0057
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "C"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
jump ofs006e
|
||||
ofs0057:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "D"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
getlocal3
|
||||
iffalse ofs0067
|
||||
jump ofs007b
|
||||
ofs0067:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "H"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
ofs006e:
|
||||
getlocal 4
|
||||
iffalse ofs007b
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")])
|
||||
pushstring "L"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestLoopInLoop"),ProtectedNamespace("tests:TestLoopInLoop"),StaticProtectedNs("tests:TestLoopInLoop"),PrivateNamespace("TestLoopInLoop.as$0")]), 1
|
||||
ofs007b:
|
||||
inclocal_i 1
|
||||
ofs007d:
|
||||
getlocal1
|
||||
pushbyte 10
|
||||
iflt ofs0038
|
||||
getlocal2
|
||||
iffalse ofs008d
|
||||
jump ofs0092
|
||||
ofs008d:
|
||||
pushtrue
|
||||
iftrue ofs0028
|
||||
ofs0092:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestLoopInLoop",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestLoopInLoop")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
105
libsrc/ffdec_lib/testexpected/as3_new/tests/TestManualConvert.as
Normal file
105
libsrc/ffdec_lib/testexpected/as3_new/tests/TestManualConvert.as
Normal file
@@ -0,0 +1,105 @@
|
||||
package tests
|
||||
{
|
||||
public class TestManualConvert
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestManualConvert()
|
||||
{
|
||||
method
|
||||
name "tests:TestManualConvert/TestManualConvert"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestManualConvert/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 3
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestManualConvert"),ProtectedNamespace("tests:TestManualConvert"),StaticProtectedNs("tests:TestManualConvert"),PrivateNamespace("TestManualConvert.as$0")])
|
||||
pushstring "String(this).length"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestManualConvert"),ProtectedNamespace("tests:TestManualConvert"),StaticProtectedNs("tests:TestManualConvert"),PrivateNamespace("TestManualConvert.as$0")]), 1
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestManualConvert"),ProtectedNamespace("tests:TestManualConvert"),StaticProtectedNs("tests:TestManualConvert"),PrivateNamespace("TestManualConvert.as$0")])
|
||||
findpropstrict QName(PackageNamespace(""),"String")
|
||||
getlocal0
|
||||
callproperty QName(PackageNamespace(""),"String"), 1
|
||||
getproperty Multiname("length",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestManualConvert"),ProtectedNamespace("tests:TestManualConvert"),StaticProtectedNs("tests:TestManualConvert"),PrivateNamespace("TestManualConvert.as$0")])
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestManualConvert"),ProtectedNamespace("tests:TestManualConvert"),StaticProtectedNs("tests:TestManualConvert"),PrivateNamespace("TestManualConvert.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestManualConvert",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestManualConvert")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
111
libsrc/ffdec_lib/testexpected/as3_new/tests/TestMetadata.as
Normal file
111
libsrc/ffdec_lib/testexpected/as3_new/tests/TestMetadata.as
Normal file
@@ -0,0 +1,111 @@
|
||||
package tests
|
||||
{
|
||||
[MyClassTag(cls2="class 2",cls1="class 1")]
|
||||
public class TestMetadata
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
[MyVarTag(var2="var 2",var1="var 1")]
|
||||
public var v:int = 5;
|
||||
|
||||
[MyConstTag]
|
||||
public const C:int = 10;
|
||||
|
||||
public function TestMetadata()
|
||||
{
|
||||
method
|
||||
name "tests:TestMetadata/TestMetadata"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
[MySingleTag("tag")]
|
||||
public function run() : void
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
flag METADATA
|
||||
metadata "MySingleTag"
|
||||
item "" "tag"
|
||||
end ; metadata
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestMetadata/run"
|
||||
returns QName(PackageNamespace(""),"void")
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMetadata"),ProtectedNamespace("tests:TestMetadata"),StaticProtectedNs("tests:TestMetadata"),PrivateNamespace("TestMetadata.as$0")])
|
||||
pushstring "hello"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMetadata"),ProtectedNamespace("tests:TestMetadata"),StaticProtectedNs("tests:TestMetadata"),PrivateNamespace("TestMetadata.as$0")]), 1
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestMetadata",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestMetadata")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
package tests
|
||||
{
|
||||
public class TestMissingDefault
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestMissingDefault()
|
||||
{
|
||||
method
|
||||
name "tests:TestMissingDefault/TestMissingDefault"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestMissingDefault/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 3
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "jj", 0, 13
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs002b
|
||||
ofs000f:
|
||||
label
|
||||
pushbyte 1
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0056
|
||||
ofs0018:
|
||||
label
|
||||
pushbyte 2
|
||||
convert_i
|
||||
setlocal1
|
||||
jump ofs0056
|
||||
ofs0021:
|
||||
label
|
||||
pushbyte 3
|
||||
convert_i
|
||||
setlocal1
|
||||
label
|
||||
jump ofs0056
|
||||
ofs002b:
|
||||
getlocal1
|
||||
setlocal2
|
||||
pushbyte 1
|
||||
getlocal2
|
||||
ifstrictne ofs003a
|
||||
pushbyte 0
|
||||
jump ofs0049
|
||||
ofs003a:
|
||||
pushbyte 2
|
||||
getlocal2
|
||||
ifstrictne ofs0047
|
||||
pushbyte 1
|
||||
jump ofs0049
|
||||
ofs0047:
|
||||
pushbyte -1
|
||||
ofs0049:
|
||||
kill 2
|
||||
lookupswitch ofs0021, [ofs000f, ofs0018]
|
||||
ofs0056:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestMissingDefault",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestMissingDefault")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
package tests
|
||||
{
|
||||
public class TestMultipleCondition
|
||||
{
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 3
|
||||
maxscopedepth 4
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
public function TestMultipleCondition()
|
||||
{
|
||||
method
|
||||
name "tests:TestMultipleCondition/TestMultipleCondition"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 1
|
||||
localcount 1
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
getlocal0
|
||||
constructsuper 0
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
|
||||
public function run() : *
|
||||
{
|
||||
trait method QName(PackageNamespace(""),"run")
|
||||
dispid 0
|
||||
method
|
||||
name "tests:TestMultipleCondition/run"
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 4
|
||||
initscopedepth 4
|
||||
maxscopedepth 5
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
debug 1, "a", 0, 13
|
||||
debug 1, "b", 1, 14
|
||||
debug 1, "c", 2, 15
|
||||
pushbyte 5
|
||||
coerce_a
|
||||
setlocal1
|
||||
pushbyte 8
|
||||
coerce_a
|
||||
setlocal2
|
||||
pushbyte 9
|
||||
coerce_a
|
||||
setlocal3
|
||||
getlocal1
|
||||
pushbyte 4
|
||||
lessequals
|
||||
dup
|
||||
iftrue ofs002b
|
||||
pop
|
||||
getlocal2
|
||||
pushbyte 8
|
||||
lessequals
|
||||
ofs002b:
|
||||
dup
|
||||
iffalse ofs0035
|
||||
pop
|
||||
getlocal3
|
||||
pushbyte 7
|
||||
equals
|
||||
ofs0035:
|
||||
iffalse ofs0044
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMultipleCondition"),ProtectedNamespace("tests:TestMultipleCondition"),StaticProtectedNs("tests:TestMultipleCondition"),PrivateNamespace("TestMultipleCondition.as$0")])
|
||||
pushstring "onTrue"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMultipleCondition"),ProtectedNamespace("tests:TestMultipleCondition"),StaticProtectedNs("tests:TestMultipleCondition"),PrivateNamespace("TestMultipleCondition.as$0")]), 1
|
||||
jump ofs004b
|
||||
ofs0044:
|
||||
findpropstrict Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMultipleCondition"),ProtectedNamespace("tests:TestMultipleCondition"),StaticProtectedNs("tests:TestMultipleCondition"),PrivateNamespace("TestMultipleCondition.as$0")])
|
||||
pushstring "onFalse"
|
||||
callpropvoid Multiname("trace",[PackageNamespace(""),Namespace("http://adobe.com/AS3/2006/builtin"),PackageNamespace("tests"),PackageInternalNs("tests"),PrivateNamespace("tests:TestMultipleCondition"),ProtectedNamespace("tests:TestMultipleCondition"),StaticProtectedNs("tests:TestMultipleCondition"),PrivateNamespace("TestMultipleCondition.as$0")]), 1
|
||||
ofs004b:
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
method
|
||||
name ""
|
||||
returns null
|
||||
|
||||
body
|
||||
maxstack 2
|
||||
localcount 1
|
||||
initscopedepth 1
|
||||
maxscopedepth 3
|
||||
|
||||
code
|
||||
getlocal0
|
||||
pushscope
|
||||
findpropstrict Multiname("TestMultipleCondition",[PackageNamespace("tests")])
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
pushscope
|
||||
getlex QName(PackageNamespace(""),"Object")
|
||||
newclass 0
|
||||
popscope
|
||||
initproperty QName(PackageNamespace("tests"),"TestMultipleCondition")
|
||||
returnvoid
|
||||
end ; code
|
||||
end ; body
|
||||
end ; method
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user