@@ -4774,7 +4774,9 @@ merge(Compressor.prototype, {
|
|||||||
node.definitions.forEach(function(defn) {
|
node.definitions.forEach(function(defn) {
|
||||||
var def = defn.name.definition();
|
var def = defn.name.definition();
|
||||||
var_defs_by_id.add(def.id, defn);
|
var_defs_by_id.add(def.id, defn);
|
||||||
if ((!drop_vars || (node instanceof AST_Const ? def.redefined() : def.const_redefs))
|
var redef = def.redefined();
|
||||||
|
if (redef && node instanceof AST_Var) var_defs_by_id.add(redef.id, defn);
|
||||||
|
if ((!drop_vars || (node instanceof AST_Const ? redef : def.const_redefs))
|
||||||
&& !(def.id in in_use_ids)) {
|
&& !(def.id in in_use_ids)) {
|
||||||
in_use_ids[def.id] = true;
|
in_use_ids[def.id] = true;
|
||||||
in_use.push(def);
|
in_use.push(def);
|
||||||
|
|||||||
@@ -5076,3 +5076,42 @@ issue_4186: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "function"
|
expect_stdout: "function"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4233: {
|
||||||
|
options = {
|
||||||
|
functions: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
var a = function() {};
|
||||||
|
try {
|
||||||
|
throw 42;
|
||||||
|
} catch (a) {
|
||||||
|
(function() {
|
||||||
|
console.log(typeof a);
|
||||||
|
})();
|
||||||
|
var a;
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
var a = function() {};
|
||||||
|
try {
|
||||||
|
throw 42;
|
||||||
|
} catch (a) {
|
||||||
|
(function() {
|
||||||
|
console.log(typeof a);
|
||||||
|
})();
|
||||||
|
var a;
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "number"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user