// Test that we can save stacks with getter and setter function frames. | |
function assertStackLengthEq(stack, expectedLength) { | |
let actual = 0; | |
while (stack) { | |
actual++; | |
stack = stack.parent; | |
} | |
assertEq(actual, expectedLength); | |
} | |
const get = { get s() { return saveStack(); } }.s; | |
assertStackLengthEq(get, 2); | |
let set; | |
try { | |
({ | |
set s(v) { | |
throw saveStack(); | |
} | |
}).s = 1; | |
} catch (s) { | |
set = s; | |
} | |
assertStackLengthEq(set, 2); |