@@ -5281,7 +5281,7 @@ merge(Compressor.prototype, {
|
||||
if (member(def.scope, scopes)) return true;
|
||||
if (scope && !def.redefined()) {
|
||||
var scope_def = scope.find_variable(node.name);
|
||||
if (def.undeclared ? !scope_def : scope_def === def) {
|
||||
if (scope_def ? scope_def === def : def.undeclared) {
|
||||
result = "f";
|
||||
return true;
|
||||
}
|
||||
@@ -7637,7 +7637,6 @@ merge(Compressor.prototype, {
|
||||
}).init_vars(node),
|
||||
}));
|
||||
exprs = [ node ];
|
||||
|
||||
}
|
||||
if (values) exprs.push(make_node(AST_Call, this, {
|
||||
expression: make_node(AST_Arrow, this, {
|
||||
|
||||
@@ -1590,3 +1590,56 @@ issue_4951_2: {
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=14.6"
|
||||
}
|
||||
|
||||
issue_4962_1: {
|
||||
options = {
|
||||
ie8: true,
|
||||
inline: true,
|
||||
reduce_vars: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
(function() {
|
||||
function f() {
|
||||
while (console.log(typeof g));
|
||||
}
|
||||
class A {
|
||||
static p = f();
|
||||
}
|
||||
})(function g() {});
|
||||
}
|
||||
expect: {
|
||||
(function g() {}),
|
||||
void function() {
|
||||
while (console.log(typeof g));
|
||||
}();
|
||||
}
|
||||
expect_stdout: "undefined"
|
||||
node_version: ">=12"
|
||||
}
|
||||
|
||||
issue_4962_2: {
|
||||
options = {
|
||||
ie8: true,
|
||||
inline: true,
|
||||
reduce_vars: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
console.log(function f() {}(function g() {
|
||||
function h() {
|
||||
f;
|
||||
}
|
||||
class A {
|
||||
static p = h();
|
||||
}
|
||||
}, typeof g));
|
||||
}
|
||||
expect: {
|
||||
console.log(function f() {}(function g() {
|
||||
f;
|
||||
}));
|
||||
}
|
||||
expect_stdout: "undefined"
|
||||
node_version: ">=12"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user