var log = ""; function f(x) { if (x) function g() { return "g0"; } else function g() { return "g1"; } log += g(); if (x) function g() { return "g2"; } else { } log += g(); if (x) { } else function g() { return "g3"; } log += g(); if (x) function g() { return "g4"; } log += g(); } f(true); f(false); try { eval(` if (1) l: function foo() {} `); } catch (e) { log += "e"; } reportCompare(log, "g0g2g2g4g1g1g3g3e");