-1:000000000000 | 0:0cc58bf91a58 |
---|---|
1 function g() {} | |
2 | |
3 function h() { | |
4 for (var i = 0; i < 9; i++) | |
5 x.f = i; | |
6 } | |
7 | |
8 function j() { | |
9 x.f(); | |
10 } | |
11 | |
12 var x = {f: 0.7, g: g}; | |
13 x.g(); // interpreter brands x | |
14 h(); | |
15 print(shapeOf(x)); | |
16 x.f = function (){}; // does not change x's shape | |
17 j(); | |
18 print(shapeOf(x)); | |
19 h(); // should change x's shape | |
20 | |
21 var thrown = 'none'; | |
22 try { | |
23 j(); // should throw since x.f === 8 | |
24 } catch (exc) { | |
25 thrown = exc.name; | |
26 } | |
27 assertEq(thrown, 'TypeError'); |