Source code

Revision control

Copy as Markdown

Other Tools

class base {
constructor() { }
static found() {
this.foundCalled = true;
}
static get accessor() {
assertEq(this, derived);
return 45;
}
notFound() { }
}
class derived extends base {
constructor() { }
static found() { throw "NO!"; }
static get accessor() { throw "NO!"; }
static test() {
assertEq(super["notFound"], undefined);
super.found();
// foundCalled is set on |derived| specifically.
let calledDesc = Object.getOwnPropertyDescriptor(derived, "foundCalled");
assertEq(calledDesc.value, true);
assertEq(super.accessor, 45);
}
}
derived.test();
if (typeof reportCompare === 'function')
reportCompare(0,0,"OK");