From ac51d4c5a079dccbc9a6cf69d06f757432c69694 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Fri, 24 Mar 2017 19:31:17 +0800 Subject: fix corner case in `AST_For.init` (#1652) Enforce `null` as value for empty initialisation blocks. fixes #1648 --- lib/compress.js | 1 + lib/output.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/compress.js b/lib/compress.js index cbcb7b86..3804a932 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -2327,6 +2327,7 @@ merge(Compressor.prototype, { }; OPT(AST_For, function(self, compressor){ + if (is_empty(self.init)) self.init = null; if (!compressor.option("loops")) return self; if (self.condition) { var cond = self.condition.evaluate(compressor); diff --git a/lib/output.js b/lib/output.js index 767abd4d..c0f10523 100644 --- a/lib/output.js +++ b/lib/output.js @@ -799,7 +799,7 @@ function OutputStream(options) { output.print("for"); output.space(); output.with_parens(function(){ - if (self.init && !(self.init instanceof AST_EmptyStatement)) { + if (self.init) { if (self.init instanceof AST_Definitions) { self.init.print(output); } else { -- cgit v1.2.3