mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-22 00:06:23 +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/decompile/
|
||||||
/libsrc/ffdec_lib/testdata/recompile/
|
/libsrc/ffdec_lib/testdata/recompile/
|
||||||
/libsrc/ffdec_lib/testdata/directediting/
|
/libsrc/ffdec_lib/testdata/directediting/
|
||||||
|
/libsrc/ffdec_lib/testactual/
|
||||||
/libsrc/ffdec_lib/coverage.ec
|
/libsrc/ffdec_lib/coverage.ec
|
||||||
/libsrc/ffdec_lib/revision.txt
|
/libsrc/ffdec_lib/revision.txt
|
||||||
/libsrc/ffdec_lib/releases/
|
/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;
|
dotest = true;
|
||||||
}
|
}
|
||||||
if (!dotest) {
|
if (!dotest) {
|
||||||
System.out.println("Skipped:" + classPathString);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Recompiling:" + classPathString + "...");
|
|
||||||
try {
|
try {
|
||||||
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.AS, false, false, false);
|
en.toSource(swf.getAbcIndex(), htw, abc.script_info.get(s).traits.traits, new ConvertData(), ScriptExportMode.AS, false, false, false);
|
||||||
htw.finishHilights();
|
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