class A { | |
constructor() { } | |
} | |
class B extends A { | |
constructor() { | |
try { | |
this; | |
} catch (e) { | |
this; | |
super(); | |
} | |
} | |
} | |
noInline(B); | |
for (var i = 0; i < 10000; ++i) { | |
var exception = null; | |
try { | |
new B(false); | |
} catch (e) { | |
exception = e; | |
if (!(e instanceof ReferenceError)) | |
throw "Exception thrown in iteration " + i + " was not a reference error"; | |
} | |
if (!exception) | |
throw "Exception not thrown for an unitialized this at iteration " + i; | |
} |