ruffle/core/tests/swfs/avm2/inheritance/Test.as

81 lines
1.4 KiB
ActionScript

package {
public class Test {
}
}
class Test2 {
{
trace("Class constructor");
}
function Test2() {
trace("Instance constructor");
}
function method() {
trace("Instance method");
}
function method2() {
trace("Instance method 2");
}
}
class Test3 extends Test2 {
{
trace("Child class constructor");
}
function Test3() {
trace("Child instance constructor pre-super");
super();
trace("Child instance constructor post-super");
}
override function method() {
trace("Child instance method pre-super");
super.method();
trace("Child instance method post-super");
}
function method3() {
trace("Child instance method3 pre-super");
super.method();
trace("Child instance method3 post-super");
}
}
class Test4 extends Test3 {
{
trace("Grandchild class constructor");
}
function Test4() {
trace("Grandchild instance constructor pre-super");
super();
trace("Grandchild instance constructor post-super");
}
override function method2() {
trace("Grandchild instance method2 pre-super");
super.method2();
trace("Grandchild instance method2 post-super");
}
override function method3() {
trace("Grandchild instance method3 pre-super");
super.method3();
trace("Grandchild instance method3 post-super");
}
}
trace("Script initializer");
var x = new Test3();
x.method();
x.method2();
x.method3();
var y = new Test4();
y.method();
y.method2();
y.method3();