@@ -6640,7 +6640,13 @@ merge(Compressor.prototype, {
|
|||||||
if (def.scope === scope) return true;
|
if (def.scope === scope) return true;
|
||||||
return !scope.variables.has(node.name) && !scope.globals.has(node.name);
|
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, {
|
}) ? make_node(AST_Var, self, {
|
||||||
definitions: self.definitions.map(function(defn) {
|
definitions: self.definitions.map(function(defn) {
|
||||||
var name = make_node(AST_SymbolVar, defn.name, defn.name);
|
var name = make_node(AST_SymbolVar, defn.name, defn.name);
|
||||||
|
|||||||
@@ -805,3 +805,38 @@ issue_4197: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "1"
|
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