haikuwebkit/JSTests/stress/cache-put-by-id-different-_...

34 lines
446 B
JavaScript

//@ 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');