}
if (node instanceof AST_SymbolLambda) {
var def = node.thedef;
- redefine(node, node.scope.parent_scope);
+ redefine(node, node.scope.parent_scope.resolve());
node.thedef.init = def.init;
return true;
}
}
expect_stdout: "100 10 1"
}
+
+issue_3475: {
+ rename = true
+ mangle = {
+ ie8: false,
+ toplevel: false,
+ }
+ input: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (b) {
+ (function f() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (o) {
+ (function o() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect_stdout: "PASS"
+}
+
+issue_3475_ie8: {
+ rename = true
+ mangle = {
+ ie8: true,
+ toplevel: false,
+ }
+ input: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (b) {
+ (function f() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (b) {
+ (function f() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect_stdout: "PASS"
+}
+
+issue_3475_toplevel: {
+ rename = true
+ mangle = {
+ ie8: false,
+ toplevel: true,
+ }
+ input: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (b) {
+ (function f() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect: {
+ "ooooo ddddd";
+ var d = "FAIL";
+ try {
+ throw 42;
+ } catch (o) {
+ (function o() {
+ d = "PASS";
+ })();
+ }
+ console.log(d);
+ }
+ expect_stdout: "PASS"
+}
+
+issue_3475_ie8_toplevel: {
+ rename = true
+ mangle = {
+ ie8: true,
+ toplevel: true,
+ }
+ input: {
+ "ooooo ddddd";
+ var a = "FAIL";
+ try {
+ throw 42;
+ } catch (b) {
+ (function f() {
+ a = "PASS";
+ })();
+ }
+ console.log(a);
+ }
+ expect: {
+ "ooooo ddddd";
+ var o = "FAIL";
+ try {
+ throw 42;
+ } catch (d) {
+ (function c() {
+ o = "PASS";
+ })();
+ }
+ console.log(o);
+ }
+ expect_stdout: "PASS"
+}
console.log(b, c);
}
expect: {
- var t = 1, u = 1, y = 0;
+ var u = 1, y = 1, a = 0;
function c(c) {
var d;
do {
try {
var e = void 0;
} catch (i) {
- --t && w("ddddddddeeeeeeegggggggggiiiiilllllllnnnnntuuuuuuuuyyyyyyy");
+ --u && w("ddddddddeeeeeeegggggggggiiiiilllllllnnnnntuuuuuuuuyyyyyyy");
0;
0;
0;
d[1];
} catch (l) {
var g;
- switch(function x() {
- y++;
+ switch (function n() {
+ a++;
}()) {
- case e + --g:
+ case e + --g:
}
}
- } catch (n) {}
+ } catch (t) {}
} while (--d);
- u--;
+ y--;
}
c();
- console.log(u, y);
+ console.log(y, a);
}
expect_stdout: "0 1"
}