aboutsummaryrefslogtreecommitdiff
path: root/tools/js-optimizer.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r--tools/js-optimizer.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 7900044a..76d33f89 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -831,7 +831,9 @@ function simplifyIfs(ast) {
if (type === 'if' && !node[3]) {
var body = node[2];
// recurse to handle chains
- while (body[0] === 'block' && body[1].length === 1) {
+ while (body[0] === 'block') {
+ if (body[1].length > 1) body[1] = filterEmptyNodes(body[1]);
+ if (body[1].length !== 1) break;
var singleton = body[1][0];
if (singleton[0] === 'if' && !singleton[3]) {
node[1] = ['conditional', node[1], singleton[1], ['num', 0]];