@@ -201,7 +201,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -1189,3 +1189,135 @@ issue_3473_ie8_toplevel: {
|
||||
}
|
||||
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"
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ function_do_catch_ie8: {
|
||||
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 {
|
||||
@@ -587,7 +587,7 @@ function_do_catch_ie8: {
|
||||
try {
|
||||
var e = void 0;
|
||||
} catch (i) {
|
||||
--t && w("ddddddddeeeeeeegggggggggiiiiilllllllnnnnntuuuuuuuuyyyyyyy");
|
||||
--u && w("ddddddddeeeeeeegggggggggiiiiilllllllnnnnntuuuuuuuuyyyyyyy");
|
||||
0;
|
||||
0;
|
||||
0;
|
||||
@@ -596,18 +596,18 @@ function_do_catch_ie8: {
|
||||
d[1];
|
||||
} catch (l) {
|
||||
var g;
|
||||
switch(function x() {
|
||||
y++;
|
||||
switch (function n() {
|
||||
a++;
|
||||
}()) {
|
||||
case e + --g:
|
||||
}
|
||||
}
|
||||
} catch (n) {}
|
||||
} catch (t) {}
|
||||
} while (--d);
|
||||
u--;
|
||||
y--;
|
||||
}
|
||||
c();
|
||||
console.log(u, y);
|
||||
console.log(y, a);
|
||||
}
|
||||
expect_stdout: "0 1"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user