fix corner case in ie8 (#4532)

fixes #4531
This commit is contained in:
Alex Lam S.L
2021-01-10 16:01:49 +00:00
committed by GitHub
parent ba54d074d8
commit dbfa5d4d14
2 changed files with 62 additions and 3 deletions

View File

@@ -311,8 +311,9 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
}
if (node instanceof AST_SymbolLambda) {
var def = node.thedef;
redefine(node, node.scope.parent_scope.resolve());
if (typeof node.thedef.init !== "undefined") {
if (!redefine(node, node.scope.parent_scope.resolve())) {
delete def.defun;
} else if (typeof node.thedef.init !== "undefined") {
node.thedef.init = false;
} else if (def.init) {
node.thedef.init = def.init;
@@ -332,7 +333,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
var old_def = node.thedef;
if (!all(old_def.orig, function(sym) {
return !(sym instanceof AST_SymbolConst || sym instanceof AST_SymbolLet);
})) return;
})) return false;
var new_def = scope.find_variable(name);
if (new_def) {
var redef = new_def.redefined();
@@ -352,6 +353,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
node.reference(options);
});
if (new_def.undeclared) self.variables.set(name, new_def);
return true;
}
});