handle global constant collision with local variable after inline (#2617)

fixes #2616
This commit is contained in:
Alex Lam S.L
2017-12-19 03:05:30 +08:00
committed by GitHub
parent 8ddcbc39e6
commit 4b334edf49
2 changed files with 38 additions and 1 deletions

View File

@@ -4028,13 +4028,16 @@ merge(Compressor.prototype, {
expressions.unshift(value || make_node(AST_Undefined, self));
}
} else {
var def = name.definition();
scope.var_names()[name.name] = true;
scope.variables.set(name.name, def);
scope.enclosed.push(def);
decls.unshift(make_node(AST_VarDef, name, {
name: name,
value: null
}));
var sym = make_node(AST_SymbolRef, name, name);
name.definition().references.push(sym);
def.references.push(sym);
expressions.unshift(make_node(AST_Assign, self, {
operator: "=",
left: sym,