@@ -70,9 +70,7 @@ SymbolDef.prototype = {
|
||||
} else if (!this.mangled_name && !this.unmangleable(options)) {
|
||||
var def = this.redefined();
|
||||
if (def) {
|
||||
var name = def.mangled_name || def.name;
|
||||
this.mangled_name = name;
|
||||
names_in_use(this.scope, options)[name] = true;
|
||||
this.mangled_name = def.mangled_name || def.name;
|
||||
} else {
|
||||
this.mangled_name = next_mangled_name(this, options);
|
||||
}
|
||||
@@ -683,6 +681,7 @@ AST_Toplevel.DEFMETHOD("mangle_names", function(options) {
|
||||
redef = scope.def_variable(sym);
|
||||
scope.to_mangle.push(redef);
|
||||
} else if (redef.mangled_name) {
|
||||
names_in_use(def.scope, options)[redef.mangled_name] = true;
|
||||
return false;
|
||||
}
|
||||
redefined.push(def);
|
||||
|
||||
@@ -1588,3 +1588,33 @@ issue_4954_2: {
|
||||
expect_stdout: "PASS"
|
||||
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