@@ -5281,7 +5281,7 @@ merge(Compressor.prototype, {
|
|||||||
if (member(def.scope, scopes)) return true;
|
if (member(def.scope, scopes)) return true;
|
||||||
if (scope && !def.redefined()) {
|
if (scope && !def.redefined()) {
|
||||||
var scope_def = scope.find_variable(node.name);
|
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";
|
result = "f";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -7637,7 +7637,6 @@ merge(Compressor.prototype, {
|
|||||||
}).init_vars(node),
|
}).init_vars(node),
|
||||||
}));
|
}));
|
||||||
exprs = [ node ];
|
exprs = [ node ];
|
||||||
|
|
||||||
}
|
}
|
||||||
if (values) exprs.push(make_node(AST_Call, this, {
|
if (values) exprs.push(make_node(AST_Call, this, {
|
||||||
expression: make_node(AST_Arrow, this, {
|
expression: make_node(AST_Arrow, this, {
|
||||||
|
|||||||
@@ -1590,3 +1590,56 @@ issue_4951_2: {
|
|||||||
expect_stdout: "PASS"
|
expect_stdout: "PASS"
|
||||||
node_version: ">=14.6"
|
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