drop unused extends properly (#5461)
This commit is contained in:
@@ -341,7 +341,7 @@ drop_extends: {
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
keep_extends: {
|
||||
keep_extends_1: {
|
||||
options = {
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
@@ -366,6 +366,43 @@ keep_extends: {
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
keep_extends_2: {
|
||||
options = {
|
||||
side_effects: true,
|
||||
}
|
||||
input: {
|
||||
"use strict";
|
||||
(class extends Function {});
|
||||
console.log("PASS");
|
||||
}
|
||||
expect: {
|
||||
"use strict";
|
||||
(class extends Function {});
|
||||
console.log("PASS");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
keep_extends_3: {
|
||||
options = {
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
"use strict";
|
||||
class A extends Function {}
|
||||
console.log("PASS");
|
||||
}
|
||||
expect: {
|
||||
"use strict";
|
||||
(class extends Function {});
|
||||
console.log("PASS");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
drop_name: {
|
||||
options = {
|
||||
unused: true,
|
||||
@@ -670,6 +707,58 @@ single_use_7: {
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
single_use_extends: {
|
||||
options = {
|
||||
reduce_vars: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
"use strict";
|
||||
class A extends class B {
|
||||
f() {
|
||||
return "PASS";
|
||||
}
|
||||
} {}
|
||||
console.log(new A().f());
|
||||
}
|
||||
expect: {
|
||||
"use strict";
|
||||
console.log(new class extends class {
|
||||
f() {
|
||||
return "PASS";
|
||||
}
|
||||
} {}().f());
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
single_use_extends_non_strict: {
|
||||
options = {
|
||||
reduce_vars: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
class A extends class B {
|
||||
f() {
|
||||
return "PASS";
|
||||
}
|
||||
} {}
|
||||
console.log(new A().f());
|
||||
}
|
||||
expect: {
|
||||
console.log(new class extends class {
|
||||
f() {
|
||||
return "PASS";
|
||||
}
|
||||
} {}().f());
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=6"
|
||||
}
|
||||
|
||||
collapse_non_strict: {
|
||||
options = {
|
||||
collapse_vars: true,
|
||||
|
||||
Reference in New Issue
Block a user