improve parenthesis emission (#2196)

- eliminate `throw` usages
- suppress extraneous parenthesis
  - `new function() {foo.bar()}.baz`
  - `for (function() { "foo" in bar; };;);`
This commit is contained in:
Alex Lam S.L
2017-07-03 04:17:37 +08:00
committed by GitHub
parent 6b3aeff1d8
commit af0262b7e5
5 changed files with 60 additions and 22 deletions

View File

@@ -1201,7 +1201,7 @@ merge(Compressor.prototype, {
if (stat instanceof AST_For && !(stat.init instanceof AST_Definitions)) {
var abort = false;
prev.body.walk(new TreeWalker(function(node) {
if (abort) return true;
if (abort || node instanceof AST_Scope) return true;
if (node instanceof AST_Binary && node.operator == "in") {
abort = true;
return true;