//@ runNoLLInt | |
let counter = 0; | |
class A { | |
static set y(x) { | |
if (counter++ === 9) { | |
C.__proto__ = B2; | |
} | |
} | |
} | |
class B1 extends A { | |
} | |
let calledB2 = false; | |
class B2 extends A { | |
static set y(x) { | |
calledB2 = true; | |
} | |
} | |
class C extends B1 { | |
} | |
class D extends C { | |
} | |
for (let i = 0; i < 11; i++) { | |
D.y = 42; | |
} | |
if (!calledB2) | |
throw new Error('The setter for B2.y should have been called'); |