fix corner case in ie8 (#4232)

fixes #4231
This commit is contained in:
Alex Lam S.L
2020-10-20 07:02:39 +01:00
committed by GitHub
parent 256950c2c0
commit fd8c0212b8
4 changed files with 46 additions and 6 deletions

View File

@@ -277,6 +277,9 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
function redefine(node, scope) {
var name = node.name;
var old_def = node.thedef;
if (!all(old_def.orig, function(sym) {
return !(sym instanceof AST_SymbolConst || sym instanceof AST_SymbolLet);
})) return;
var new_def = scope.find_variable(name);
if (new_def) {
var redef = new_def.redefined();
@@ -294,7 +297,6 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
node.redef = true;
node.thedef = new_def;
node.reference(options);
if (node instanceof AST_SymbolConst || node instanceof AST_SymbolLet) new_def.orig.push(node);
});
if (old_def.lambda) new_def.lambda = true;
if (new_def.undeclared) self.variables.set(name, new_def);