@@ -611,6 +611,7 @@ AST_Toplevel.DEFMETHOD("mangle_names", function(options) {
|
|||||||
if (!(sym instanceof AST_SymbolConst)) return false;
|
if (!(sym instanceof AST_SymbolConst)) return false;
|
||||||
var scope = def.scope.resolve();
|
var scope = def.scope.resolve();
|
||||||
if (def.scope === scope) return false;
|
if (def.scope === scope) return false;
|
||||||
|
if (def.scope.parent_scope.find_variable(sym.name)) return false;
|
||||||
redef = scope.def_variable(sym);
|
redef = scope.def_variable(sym);
|
||||||
scope.to_mangle.push(redef);
|
scope.to_mangle.push(redef);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1399,3 +1399,38 @@ issue_4365_2: {
|
|||||||
}
|
}
|
||||||
expect_stdout: true
|
expect_stdout: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4527: {
|
||||||
|
mangle = {}
|
||||||
|
input: {
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
throw 1;
|
||||||
|
} catch (a) {
|
||||||
|
try {
|
||||||
|
const a = FAIL;
|
||||||
|
} finally {
|
||||||
|
if (!b)
|
||||||
|
return console.log("aaaa");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var b;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
throw 1;
|
||||||
|
} catch (a) {
|
||||||
|
try {
|
||||||
|
const a = FAIL;
|
||||||
|
} finally {
|
||||||
|
if (!t)
|
||||||
|
return console.log("aaaa");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var t;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "aaaa"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user