@@ -704,7 +704,12 @@ AST_Toplevel.DEFMETHOD("mangle_names", function(options) {
|
|||||||
}
|
}
|
||||||
redefined.push(def);
|
redefined.push(def);
|
||||||
def.references.forEach(reference);
|
def.references.forEach(reference);
|
||||||
if (sym instanceof AST_SymbolCatch || sym instanceof AST_SymbolConst) reference(sym);
|
if (sym instanceof AST_SymbolCatch || sym instanceof AST_SymbolConst) {
|
||||||
|
reference(sym);
|
||||||
|
def.redefined = function() {
|
||||||
|
return redef;
|
||||||
|
};
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
function reference(sym) {
|
function reference(sym) {
|
||||||
|
|||||||
@@ -2011,3 +2011,88 @@ issue_5516: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "function"
|
expect_stdout: "function"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_5580_1: {
|
||||||
|
mangle = {}
|
||||||
|
input: {
|
||||||
|
"use strict";
|
||||||
|
console.log(function(a, b, c) {
|
||||||
|
try {
|
||||||
|
FAIL;
|
||||||
|
} catch (e) {
|
||||||
|
return function() {
|
||||||
|
var d = e, i, j;
|
||||||
|
{
|
||||||
|
const e = j;
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}();
|
||||||
|
} finally {
|
||||||
|
const e = 42;
|
||||||
|
}
|
||||||
|
}("PASS"));
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
"use strict";
|
||||||
|
console.log(function(r, n, t) {
|
||||||
|
try {
|
||||||
|
FAIL;
|
||||||
|
} catch (o) {
|
||||||
|
return function() {
|
||||||
|
var n = o, t, c;
|
||||||
|
{
|
||||||
|
const o = c;
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
}();
|
||||||
|
} finally {
|
||||||
|
const c = 42;
|
||||||
|
}
|
||||||
|
}("PASS"));
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|
||||||
|
issue_5580_2: {
|
||||||
|
options = {
|
||||||
|
inline: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
varify: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
"use strict";
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
throw "PASS";
|
||||||
|
} catch (e) {
|
||||||
|
return function() {
|
||||||
|
console.log(e);
|
||||||
|
{
|
||||||
|
const e = "FAIL 1";
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
} finally {
|
||||||
|
const e = "FAIL 2";
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
"use strict";
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
throw "PASS";
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
{
|
||||||
|
const e = "FAIL 1";
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} finally {
|
||||||
|
var e = "FAIL 2";
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user