fix accounting after conversion to assignment (#2847)

Missing reference to `AST_SymbolRef` created by `unused` causes `collapse_vars` to misbehave.

fixes #2846
This commit is contained in:
Alex Lam S.L
2018-01-26 14:21:11 +08:00
committed by GitHub
parent 95cfce68ea
commit 193612ac67
2 changed files with 30 additions and 1 deletions

View File

@@ -3038,9 +3038,11 @@ merge(Compressor.prototype, {
if (var_defs.length > 1 && (!def.value || sym.orig.indexOf(def.name) > sym.eliminated)) {
compressor.warn("Dropping duplicated definition of variable {name} [{file}:{line},{col}]", template(def.name));
if (def.value) {
var ref = make_node(AST_SymbolRef, def.name, def.name);
sym.references.push(ref);
var assign = make_node(AST_Assign, def, {
operator: "=",
left: make_node(AST_SymbolRef, def.name, def.name),
left: ref,
right: def.value
});
if (fixed_ids[sym.id] === def) {