Source code

Revision control

Copy as Markdown

Other Tools

function base() { }
class beforeSwizzle extends base {
constructor() {
super(Object.setPrototypeOf(beforeSwizzle, null));
}
}
new beforeSwizzle();
function MyError() {}
// Again, testing both dynamic prototype dispatch, and that we verify the function
// is a constructor after evaluating args
class beforeThrow extends base {
constructor() {
function thrower() { throw new MyError(); }
super(thrower());
}
}
Object.setPrototypeOf(beforeThrow, Math.sin);
// Won't throw that Math.sin is not a constructor before evaluating the args
assertThrowsInstanceOf(() => new beforeThrow(), MyError);
if (typeof reportCompare === 'function')
reportCompare(0,0,"OK");