[ "var a = 3; var a = 10;", "var c; { var a; var a;} ", // in non-strict mode, function a is hoisted "var a; { function a(){} }", "switch(foo) { case a: var b = 3;\ncase b: var b = 4}", "var a = 3; var a = 10;", "var a = {}; var a = [];", "var a; function a() {}", "function a() {} function a() {}", "var a = function() { }; var a = function() { }", "var a = function() { }; var a = new Date();", "var a = 3; var a = 10; var a = 15;", "var a; var a;", "export var a; var a;", "class C { static { var a; var a; } }", "class C { static { var a; { var a; } } }", "class C { static { { var a; } var a; } }", "class C { static { { var a; } { var a; } } }", "var a; var {a = 0, b: Object = 0} = {};", "var a; var {a = 0, b: globalThis = 0} = {};", "function f() { var a; var a; }", "function f() { var a; if (test) { var a; } }", "for (var a, a;;);", "for (;;){ var a, a,;}", "function f(x) { var x = 5; }" ]