(startObject = emptyFunction)
| 18 | }; |
| 19 | let seenStartObjects = new Map(); |
| 20 | function makeLongProxyChain(startObject = emptyFunction) { |
| 21 | if (seenStartObjects.has(startObject)) |
| 22 | return seenStartObjects.get(startObject); |
| 23 | let p = new Proxy(startObject, {}); |
| 24 | for (let i = 0; i < 500000; i++) |
| 25 | p = new Proxy(p, {}); |
| 26 | seenStartObjects.set(startObject, p); |
| 27 | return p; |
| 28 | } |
| 29 | shouldThrowStackOverflow(function longProxyChain() { |
| 30 | let f = makeLongProxyChain(); |
| 31 | f.name; |