blob: 29a24fbcd9ff4bb6a565c52053708074f8723373 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// The value of a `var` on entering a function is `undefined`, even if a
// default expression uses the same stack slot for something else.
load(libdir + "asserts.js");
function f(a = class C{}) {
var x;
return x;
}
assertEq(f(), undefined);
function* g1(a = class C {}) {
var x;
assertEq(x, undefined);
}
g1().next();
function* g2(a = class C {}) {
x;
let x;
}
assertThrowsInstanceOf(() => g2().next(), ReferenceError);
|