enhance comparisons & reduce_vars (#4841)

This commit is contained in:
Alex Lam S.L
2021-04-03 15:06:05 +01:00
committed by GitHub
parent 0df028187d
commit aed758ed5c
2 changed files with 52 additions and 0 deletions

View File

@@ -9674,6 +9674,7 @@ merge(Compressor.prototype, {
if (node instanceof AST_Sequence) return is_object(node.tail_node()); if (node instanceof AST_Sequence) return is_object(node.tail_node());
if (node instanceof AST_SymbolRef) return is_object(node.fixed_value()); if (node instanceof AST_SymbolRef) return is_object(node.fixed_value());
return node instanceof AST_Array return node instanceof AST_Array
|| node instanceof AST_Class
|| node instanceof AST_Lambda || node instanceof AST_Lambda
|| node instanceof AST_New || node instanceof AST_New
|| node instanceof AST_Object; || node instanceof AST_Object;

View File

@@ -583,6 +583,31 @@ single_use_6: {
node_version: ">=4" node_version: ">=4"
} }
single_use_7: {
options = {
passes: 2,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
"use strict";
class A {
static foo() {}
}
var a = "foo" in A;
console.log(a);
}
expect: {
"use strict";
console.log("foo" in class {
static foo() {}
});
}
expect_stdout: "true"
node_version: ">=4"
}
collapse_non_strict: { collapse_non_strict: {
options = { options = {
collapse_vars: true, collapse_vars: true,
@@ -654,6 +679,32 @@ collapse_rhs_static: {
node_version: ">=12" node_version: ">=12"
} }
self_comparison: {
options = {
booleans: true,
comparisons: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
"use strict";
class A {}
console.log(A == A, A != A);
console.log(A === A, A !== A);
}
expect: {
"use strict";
console.log(!0, !1);
console.log(!0, !1);
}
expect_stdout: [
"true false",
"true false",
]
node_version: ">=4"
}
property_side_effects: { property_side_effects: {
options = { options = {
inline: true, inline: true,