@@ -70,9 +70,7 @@ SymbolDef.prototype = {
|
|||||||
} else if (!this.mangled_name && !this.unmangleable(options)) {
|
} else if (!this.mangled_name && !this.unmangleable(options)) {
|
||||||
var def = this.redefined();
|
var def = this.redefined();
|
||||||
if (def) {
|
if (def) {
|
||||||
var name = def.mangled_name || def.name;
|
this.mangled_name = def.mangled_name || def.name;
|
||||||
this.mangled_name = name;
|
|
||||||
names_in_use(this.scope, options)[name] = true;
|
|
||||||
} else {
|
} else {
|
||||||
this.mangled_name = next_mangled_name(this, options);
|
this.mangled_name = next_mangled_name(this, options);
|
||||||
}
|
}
|
||||||
@@ -683,6 +681,7 @@ AST_Toplevel.DEFMETHOD("mangle_names", function(options) {
|
|||||||
redef = scope.def_variable(sym);
|
redef = scope.def_variable(sym);
|
||||||
scope.to_mangle.push(redef);
|
scope.to_mangle.push(redef);
|
||||||
} else if (redef.mangled_name) {
|
} else if (redef.mangled_name) {
|
||||||
|
names_in_use(def.scope, options)[redef.mangled_name] = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
redefined.push(def);
|
redefined.push(def);
|
||||||
|
|||||||
@@ -1588,3 +1588,33 @@ issue_4954_2: {
|
|||||||
expect_stdout: "PASS"
|
expect_stdout: "PASS"
|
||||||
node_version: ">=4"
|
node_version: ">=4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4960: {
|
||||||
|
mangle = {}
|
||||||
|
input: {
|
||||||
|
"use strict";
|
||||||
|
var a;
|
||||||
|
(function() {
|
||||||
|
{
|
||||||
|
const a = console.log("PASS");
|
||||||
|
}
|
||||||
|
try {} catch (e) {
|
||||||
|
const a = console.log("FAIL");
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
"use strict";
|
||||||
|
var a;
|
||||||
|
(function() {
|
||||||
|
{
|
||||||
|
const o = console.log("PASS");
|
||||||
|
}
|
||||||
|
try {} catch (c) {
|
||||||
|
const o = console.log("FAIL");
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user