| class A { | |
| constructor() { } | |
| } | |
| class B extends A { | |
| constructor() { | |
| try { | |
| this; | |
| } catch (e) { | |
| this; | |
| super(); | |
| } | |
| } | |
| } | |
| noInline(B); | |
| for (var i = 0; i < testLoopCount; ++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; | |
| } |