fix invalid AST_For.init
Turns out the only place in `Compressor` which can generate invalid `AST_For.init` is within `drop_unused()`, so focus the fix-up efforts. supercedes #1652 fixes #1656
This commit is contained in:
parent
b1abe92e1a
commit
3ad69fb652
|
|
@ -1961,6 +1961,9 @@ merge(Compressor.prototype, {
|
|||
return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, {
|
||||
body: body
|
||||
});
|
||||
} else if (is_empty(node.init)) {
|
||||
node.init = null;
|
||||
return node;
|
||||
}
|
||||
}
|
||||
if (node instanceof AST_Scope && node !== self)
|
||||
|
|
@ -2327,7 +2330,6 @@ 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);
|
||||
|
|
|
|||
|
|
@ -791,3 +791,17 @@ issue_1583: {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
issue_1656: {
|
||||
options = {
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
beautify = {
|
||||
beautify: true,
|
||||
}
|
||||
input: {
|
||||
for(var a=0;;);
|
||||
}
|
||||
expect_exact: "for (;;) ;"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user