From b841d12c9e37f155ee4048e2b323ac896cf6e921 Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Thu, 7 Jul 2016 20:11:09 -0700 Subject: [PATCH] Initialize inForStatementInitCounter as a public var. --- packages/babel-generator/src/generators/expressions.js | 2 +- packages/babel-generator/src/generators/statements.js | 4 ++-- packages/babel-generator/src/index.js | 1 - packages/babel-generator/src/printer.js | 1 + 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js index 36f0485a91..048c5e2adb 100644 --- a/packages/babel-generator/src/generators/expressions.js +++ b/packages/babel-generator/src/generators/expressions.js @@ -157,7 +157,7 @@ export function AssignmentPattern(node: Object) { export function AssignmentExpression(node: Object, parent: Object) { // Somewhere inside a for statement `init` node but doesn't usually // needs a paren except for `in` expressions: `for (a in b ? a : b;;)` - let parens = this._inForStatementInitCounter && node.operator === "in" && + let parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent); if (parens) { diff --git a/packages/babel-generator/src/generators/statements.js b/packages/babel-generator/src/generators/statements.js index e4aa15fd50..c3229db035 100644 --- a/packages/babel-generator/src/generators/statements.js +++ b/packages/babel-generator/src/generators/statements.js @@ -48,9 +48,9 @@ export function ForStatement(node: Object) { this.keyword("for"); this.token("("); - this._inForStatementInitCounter++; + this.inForStatementInitCounter++; this.print(node.init, node); - this._inForStatementInitCounter--; + this.inForStatementInitCounter--; this.token(";"); if (node.test) { diff --git a/packages/babel-generator/src/index.js b/packages/babel-generator/src/index.js index 11eb3409c6..d45137d187 100644 --- a/packages/babel-generator/src/index.js +++ b/packages/babel-generator/src/index.js @@ -22,7 +22,6 @@ class Generator extends Printer { this.opts = opts; this.ast = ast; - this._inForStatementInitCounter = 0; this._whitespace = tokens.length > 0 ? new Whitespace(tokens) : null; } diff --git a/packages/babel-generator/src/printer.js b/packages/babel-generator/src/printer.js index e99d9cf8dd..0662eb30ce 100644 --- a/packages/babel-generator/src/printer.js +++ b/packages/babel-generator/src/printer.js @@ -15,6 +15,7 @@ export default class Printer { this._printedCommentStarts = {}; this._parenPushNewlineState = null; this._indent = 0; + this.inForStatementInitCounter = 0; } _printedCommentStarts: Object;