warn & drop #__PURE__ iff IIFE is dropped (#1511)

- consolidate `side-effects` optimisations
- improve string `+` optimisation
- enhance literal & `conditionals` optimisations
This commit is contained in:
Alex Lam S.L
2017-02-28 02:25:44 +08:00
committed by GitHub
parent 0b0296eb2a
commit 858e6c78a4
8 changed files with 216 additions and 99 deletions

View File

@@ -624,25 +624,35 @@ in_boolean_context: {
options = {
booleans: true,
evaluate: true,
sequences: true,
side_effects: true,
}
input: {
!42;
!"foo";
![1, 2];
!/foo/;
!b(42);
!b("foo");
!b([1, 2]);
!b(/foo/);
console.log(
!42,
!"foo",
![1, 2],
!/foo/,
!b(42),
!b("foo"),
!b([1, 2]),
!b(/foo/),
![1, foo()],
![1, foo(), 2]
);
}
expect: {
!1;
!1;
!1;
!1;
!b(42);
!b("foo");
!b([1, 2]);
!b(/foo/);
console.log(
!1,
!1,
!1,
!1,
!b(42),
!b("foo"),
!b([1, 2]),
!b(/foo/),
![1, foo()],
(foo(), !1)
);
}
}