@@ -6640,7 +6640,13 @@ merge(Compressor.prototype, {
|
||||
if (def.scope === scope) return true;
|
||||
return !scope.variables.has(node.name) && !scope.globals.has(node.name);
|
||||
}
|
||||
return def.scope === scope || !scope.find_variable(node);
|
||||
if (def.scope === scope) return true;
|
||||
var s = def.scope;
|
||||
do {
|
||||
s = s.parent_scope;
|
||||
if (s.variables.has(node.name)) return false;
|
||||
} while (s !== scope);
|
||||
return true;
|
||||
}) ? make_node(AST_Var, self, {
|
||||
definitions: self.definitions.map(function(defn) {
|
||||
var name = make_node(AST_SymbolVar, defn.name, defn.name);
|
||||
|
||||
@@ -805,3 +805,38 @@ issue_4197: {
|
||||
}
|
||||
expect_stdout: "1"
|
||||
}
|
||||
|
||||
issue_4198: {
|
||||
options = {
|
||||
reduce_vars: true,
|
||||
}
|
||||
input: {
|
||||
console.log(function() {
|
||||
try {
|
||||
throw "PASS";
|
||||
} catch (e) {
|
||||
{
|
||||
const e = "FAIL";
|
||||
}
|
||||
return function() {
|
||||
return e;
|
||||
}();
|
||||
}
|
||||
}());
|
||||
}
|
||||
expect: {
|
||||
console.log(function() {
|
||||
try {
|
||||
throw "PASS";
|
||||
} catch (e) {
|
||||
{
|
||||
const e = "FAIL";
|
||||
}
|
||||
return function() {
|
||||
return e;
|
||||
}();
|
||||
}
|
||||
}());
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user