bug1732601.js (708B)
1 // |jit-test| --fast-warmup 2 3 function Mixin(Target) { 4 var c = class extends Target {}; 5 Target.prototype.x = 1; // Add shadowing property to disable teleporting. 6 return c; 7 } 8 function MixinFoo(Target) { 9 var c = class extends Target { 10 get foo() { return 2; } 11 set foo(value) {} 12 }; 13 Target.prototype.x = 1; // Add shadowing property to disable teleporting. 14 return c; 15 } 16 17 class Base {} 18 class MyClass extends Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(Mixin(MixinFoo(Base)))))))))))) {} 19 20 function test() { 21 var instance = new MyClass(); 22 assertEq(instance.x, 1); 23 for (var i = 0; i < 500; i++) { 24 assertEq(instance.foo, 2); 25 } 26 } 27 test();