Skip to content

Commit

Permalink
fix corner case in ie (#5652)
Browse files Browse the repository at this point in the history
fixes #5651
  • Loading branch information
alexlamsl authored Sep 8, 2022
1 parent 4e4a2f8 commit 5b5f6e3
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/scope.js
Original file line number Diff line number Diff line change
Expand Up @@ -369,8 +369,9 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
// pass 3: fix up any scoping issue with IE8
if (options.ie) self.walk(new TreeWalker(function(node) {
if (node instanceof AST_SymbolCatch) {
var scope = node.thedef.defun;
if (scope.name instanceof AST_SymbolLambda && scope.name.name == node.name) {
var def = node.thedef;
var scope = def.defun;
if (def.name != "arguments" && scope.name instanceof AST_SymbolLambda && scope.name.name == def.name) {
scope = scope.parent_scope.resolve();
}
redefine(node, scope);
Expand Down
25 changes: 25 additions & 0 deletions test/compress/default-values.js
Original file line number Diff line number Diff line change
Expand Up @@ -3044,3 +3044,28 @@ issue_5566_5: {
expect_stdout: "foo bar"
node_version: ">=6"
}

issue_5651: {
options = {
ie: true,
unused: true,
}
input: {
console.log(function arguments(a = "FAIL") {
try {} catch (arguments) {
var arguments;
}
return arguments[0];
}());
}
expect: {
console.log(function arguments(a = "FAIL") {
try {} catch (arguments) {
var arguments;
}
return arguments[0];
}());
}
expect_stdout: true
node_version: ">=6"
}
25 changes: 25 additions & 0 deletions test/compress/destructured.js
Original file line number Diff line number Diff line change
Expand Up @@ -3844,3 +3844,28 @@ issue_5573: {
]
node_version: ">=6"
}

issue_5651: {
options = {
ie: true,
unused: true,
}
input: {
console.log(function arguments({}) {
try {} catch (arguments) {
var arguments;
}
return arguments[0];
}("PASS"));
}
expect: {
console.log(function arguments({}) {
try {} catch (arguments) {
var arguments;
}
return arguments[0];
}("PASS"));
}
expect_stdout: true
node_version: ">=6"
}

0 comments on commit 5b5f6e3

Please sign in to comment.