Extend `as2_super_and_this` to cover accessing object properties in super-methods, super-getters, and super-setters.

This commit is contained in:
David Wendt 2020-04-13 17:31:02 -04:00
parent 9c5cd79e2c
commit 869cbd17da
6 changed files with 91 additions and 0 deletions

View File

@ -3,4 +3,20 @@
trace("// Base");
trace(this["test"]);
}
function test_method() {
trace("// Base.test_method");
trace(this["test"]);
}
function get test_property() {
trace("// Base.test_property (get)");
trace(this["test"]);
return "test property";
}
function set test_property(val) {
trace("// Base.test_property (set)");
trace(this["test"]);
}
}

View File

@ -5,4 +5,23 @@
trace("// Extended");
trace(this["test"]);
}
function test_method() {
super.test_method();
trace("// Extended.test_method");
trace(this["test"]);
}
function get test_property() {
var tp = super.test_property;
trace("// Extended.test_property (get)");
trace(this["test"]);
return tp;
}
function set test_property(val) {
super.test_property = val;
trace("// Extended.test_property (set)");
trace(this["test"]);
}
}

View File

@ -5,4 +5,23 @@
trace("// ExtendedFurther");
trace(this["test"]);
}
function test_method() {
super.test_method();
trace("// ExtendedFurther.test_method");
trace(this["test"]);
}
function get test_property() {
var tp = super.test_property;
trace("// ExtendedFurther.test_property (get)");
trace(this["test"]);
return tp;
}
function set test_property(val) {
super.test_property = val;
trace("// ExtendedFurther.test_property (set)");
trace(this["test"]);
}
}

View File

@ -4,3 +4,40 @@ ExtendedFurther
ExtendedFurther
// ExtendedFurther
ExtendedFurther
// Base.test_method
ExtendedFurther
// Extended.test_method
ExtendedFurther
// ExtendedFurther.test_method
ExtendedFurther
// Base.test_property (get)
ExtendedFurther
// Extended.test_property (get)
ExtendedFurther
// ExtendedFurther.test_property (get)
ExtendedFurther
test property
// Base.test_property (set)
ExtendedFurther
// Base.test_property (get)
ExtendedFurther
// Extended.test_property (get)
ExtendedFurther
// ExtendedFurther.test_property (get)
ExtendedFurther
// Extended.test_property (set)
ExtendedFurther
// Base.test_property (get)
ExtendedFurther
// Extended.test_property (get)
ExtendedFurther
// ExtendedFurther.test_property (get)
ExtendedFurther
// ExtendedFurther.test_property (set)
ExtendedFurther
// Base.test_property (get)
ExtendedFurther
// Extended.test_property (get)
ExtendedFurther
// ExtendedFurther.test_property (get)
ExtendedFurther