From d2ce03e82dd1c2973a24394cd5b1eca924efcd94 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 15 Jul 2015 20:33:56 +0100 Subject: [PATCH] flow parser plugin: move up startPos and startLoc default assignments --- packages/babylon/src/plugins/flow.js | 5 +++-- packages/babylon/test/tests-flow.js | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/babylon/src/plugins/flow.js b/packages/babylon/src/plugins/flow.js index 36e2b53b07..c85d4b3330 100644 --- a/packages/babylon/src/plugins/flow.js +++ b/packages/babylon/src/plugins/flow.js @@ -847,6 +847,9 @@ export default function (instance) { instance.extend("parseParenAndDistinguishExpression", function (inner) { return function (startPos, startLoc, canBeArrow, isAsync) { + startPos = startPos || this.start; + startLoc = startLoc || this.startLoc; + if (this.lookahead().type === tt.parenR) { // var foo = (): number => {}; this.expect(tt.parenL); @@ -858,8 +861,6 @@ export default function (instance) { return this.parseArrowExpression(node, [], isAsync); } else { // var foo = (foo): number => {}; - startPos = startPos || this.start; - startLoc = startLoc || this.startLoc; let node = inner.call(this, startPos, startLoc, canBeArrow, isAsync); var state = this.getState(); diff --git a/packages/babylon/test/tests-flow.js b/packages/babylon/test/tests-flow.js index e1d2dc2dbe..f65101449a 100644 --- a/packages/babylon/test/tests-flow.js +++ b/packages/babylon/test/tests-flow.js @@ -5896,7 +5896,7 @@ var fbTestFixture = { }, init: { type: "ArrowFunctionExpression", - start: null, + start: 10, end: 27, returnType: { type: "TypeAnnotation", @@ -6082,7 +6082,7 @@ var fbTestFixture = { }, init: { type: "ArrowFunctionExpression", - start: null, + start: 11, end: 28, returnType: { type: "TypeAnnotation",