From 01d6d6dd3bf80b1f1019b470bcc2d7907a0381bb Mon Sep 17 00:00:00 2001 From: George Zahariev Date: Tue, 19 Nov 2019 20:46:09 -0800 Subject: [PATCH] Flow enums: fix enum body location (#10737) --- packages/babel-parser/src/plugins/flow.js | 91 ++++++++++--------- .../boolean-explicit/output.json | 12 +-- .../boolean-implicit/output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../duplicate-member-name/output.json | 12 +-- .../flow/enum-declaration/empty/output.json | 8 +- .../enum-declaration/enum-name/output.json | 12 +-- .../flow/enum-declaration/export/output.json | 16 ++-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../invalid-member-name/output.json | 12 +-- .../no-trailing-comma/output.json | 12 +-- .../number-explicit/output.json | 12 +-- .../number-implicit/output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../reserved-word-enum-name/output.json | 12 +-- .../string-explicit-defaulted/output.json | 12 +-- .../string-explicit-initialized/output.json | 12 +-- .../string-implicit-defaulted/output.json | 12 +-- .../string-implicit-initialized/output.json | 12 +-- .../output.json | 12 +-- .../output.json | 12 +-- .../flow/enum-declaration/symbol/output.json | 12 +-- 32 files changed, 235 insertions(+), 228 deletions(-) diff --git a/packages/babel-parser/src/plugins/flow.js b/packages/babel-parser/src/plugins/flow.js index eba2922b5bc3..96a5feac5d37 100644 --- a/packages/babel-parser/src/plugins/flow.js +++ b/packages/babel-parser/src/plugins/flow.js @@ -3250,34 +3250,32 @@ export default (superClass: Class): Class => return members; } - flowEnumStringBody( - bodyNode: N.Node, + flowEnumStringMembers( initializedMembers: Array, defaultedMembers: Array, { enumName }: { enumName: string }, - ): N.Node { + ): Array { if (initializedMembers.length === 0) { - bodyNode.members = defaultedMembers; + return defaultedMembers; } else if (defaultedMembers.length === 0) { - bodyNode.members = initializedMembers; + return initializedMembers; } else if (defaultedMembers.length > initializedMembers.length) { - bodyNode.members = defaultedMembers; for (const member of initializedMembers) { this.flowEnumErrorStringMemberInconsistentlyInitailized( member.start, { enumName }, ); } + return defaultedMembers; } else { - bodyNode.members = initializedMembers; for (const member of defaultedMembers) { this.flowEnumErrorStringMemberInconsistentlyInitailized( member.start, { enumName }, ); } + return initializedMembers; } - return this.finishNode(bodyNode, "EnumStringBody"); } flowEnumParseExplicitType({ @@ -3313,85 +3311,94 @@ export default (superClass: Class): Class => return null; } - flowParseEnumDeclaration(node: N.Node): N.Node { - const id = this.parseIdentifier(); - node.id = id; - const enumName = id.name; + flowEnumBody(node: N.Node, { enumName, nameLoc }): N.Node { const explicitType = this.flowEnumParseExplicitType({ enumName }); this.expect(tt.braceL); - const bodyNode = this.startNode(); const members = this.flowEnumMembers({ enumName, explicitType }); switch (explicitType) { case "boolean": - bodyNode.explicitType = true; - bodyNode.members = members.booleanMembers; - node.body = this.finishNode(bodyNode, "EnumBooleanBody"); - break; + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(tt.braceR); + return this.finishNode(node, "EnumBooleanBody"); case "number": - bodyNode.explicitType = true; - bodyNode.members = members.numberMembers; - node.body = this.finishNode(bodyNode, "EnumNumberBody"); - break; + node.explicitType = true; + node.members = members.numberMembers; + this.expect(tt.braceR); + return this.finishNode(node, "EnumNumberBody"); case "string": - bodyNode.explicitType = true; - node.body = this.flowEnumStringBody( - bodyNode, + node.explicitType = true; + node.members = this.flowEnumStringMembers( members.stringMembers, members.defaultedMembers, { enumName }, ); - break; + this.expect(tt.braceR); + return this.finishNode(node, "EnumStringBody"); case "symbol": - bodyNode.members = members.defaultedMembers; - node.body = this.finishNode(bodyNode, "EnumSymbolBody"); - break; + node.members = members.defaultedMembers; + this.expect(tt.braceR); + return this.finishNode(node, "EnumSymbolBody"); default: { - // null + // `explicitType` is `null` const empty = () => { - bodyNode.members = []; - return this.finishNode(bodyNode, "EnumStringBody"); + node.members = []; + this.expect(tt.braceR); + return this.finishNode(node, "EnumStringBody"); }; - bodyNode.explicitType = false; + node.explicitType = false; + const boolsLen = members.booleanMembers.length; const numsLen = members.numberMembers.length; const strsLen = members.stringMembers.length; const defaultedLen = members.defaultedMembers.length; if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { - node.body = empty(); + return empty(); } else if (!boolsLen && !numsLen) { - node.body = this.flowEnumStringBody( - bodyNode, + node.members = this.flowEnumStringMembers( members.stringMembers, members.defaultedMembers, { enumName }, ); + this.expect(tt.braceR); + return this.finishNode(node, "EnumStringBody"); } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { - bodyNode.members = members.booleanMembers; - node.body = this.finishNode(bodyNode, "EnumBooleanBody"); for (const member of members.defaultedMembers) { this.flowEnumErrorBooleanMemberNotInitialized(member.start, { enumName, memberName: member.id.name, }); } + node.members = members.booleanMembers; + this.expect(tt.braceR); + return this.finishNode(node, "EnumBooleanBody"); } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { - bodyNode.members = members.numberMembers; - node.body = this.finishNode(bodyNode, "EnumNumberBody"); for (const member of members.defaultedMembers) { this.flowEnumErrorNumberMemberNotInitialized(member.start, { enumName, memberName: member.id.name, }); } + node.members = members.numberMembers; + this.expect(tt.braceR); + return this.finishNode(node, "EnumNumberBody"); } else { - node.body = empty(); - this.flowEnumErrorInconsistentMemberValues(id.start, { enumName }); + this.flowEnumErrorInconsistentMemberValues(nameLoc, { enumName }); + return empty(); } } } - this.expect(tt.braceR); + } + + flowParseEnumDeclaration(node: N.Node): N.Node { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), { + enumName: id.name, + nameLoc: id.start, + }); return this.finishNode(node, "EnumDeclaration"); } }; diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-explicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-explicit/output.json index df48f24b108b..b3c3ca8679ba 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-explicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-explicit/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 22, - "end": 44, + "start": 7, + "end": 46, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 12 + "line": 4, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-implicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-implicit/output.json index d7d3bae2e7c4..13f9c5e69ba3 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-implicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-implicit/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 11, - "end": 33, + "start": 7, + "end": 35, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 12 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-explicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-explicit/output.json index 8ca6221bd05f..20ba8ebd29c7 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-explicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-explicit/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 22, - "end": 24, + "start": 7, + "end": 26, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 4 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-implicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-implicit/output.json index de57afc78eea..689d03caa301 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-implicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/boolean-member-not-initialized-implicit/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 11, - "end": 25, + "start": 7, + "end": 27, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 11 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/duplicate-member-name/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/duplicate-member-name/output.json index 419248b77ef1..0d9e8720f89e 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/duplicate-member-name/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/duplicate-member-name/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 18, + "start": 7, + "end": 20, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 4 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/empty/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/empty/output.json index 336475b12dd5..c01edfa2f344 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/empty/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/empty/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 9, - "end": 8, + "start": 7, + "end": 10, "loc": { "start": { "line": 1, - "column": 9 + "column": 7 }, "end": { "line": 1, - "column": 8 + "column": 10 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/enum-name/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/enum-name/output.json index 57bea3fab460..00a5c58dd9e0 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/enum-name/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/enum-name/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 12, - "end": 11, + "start": 10, + "end": 13, "loc": { "start": { - "line": 2, - "column": 0 + "line": 1, + "column": 10 }, "end": { - "line": 1, - "column": 11 + "line": 2, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/export/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/export/output.json index 5762ca30b575..a62f9a9beb46 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/export/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/export/output.json @@ -79,16 +79,16 @@ }, "body": { "type": "EnumStringBody", - "start": 15, - "end": 15, + "start": 14, + "end": 16, "loc": { "start": { "line": 1, - "column": 15 + "column": 14 }, "end": { "line": 1, - "column": 15 + "column": 16 } }, "explicitType": false, @@ -143,16 +143,16 @@ }, "body": { "type": "EnumStringBody", - "start": 41, - "end": 41, + "start": 40, + "end": 42, "loc": { "start": { "line": 3, - "column": 23 + "column": 22 }, "end": { "line": 3, - "column": 23 + "column": 24 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-majority-defaulted/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-majority-defaulted/output.json index b9a7090addd4..e572b98f4ddf 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-majority-defaulted/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-majority-defaulted/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 27, + "start": 7, + "end": 29, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 4, - "column": 8 + "line": 5, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-mixed-initializers/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-mixed-initializers/output.json index a6954ed31095..fc89707351ee 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-mixed-initializers/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/inconsistent-member-values-mixed-initializers/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 29, + "start": 7, + "end": 31, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 11 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-explicit-type-identifier/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-explicit-type-identifier/output.json index 7b6a1da0ed1f..c8665a0f248d 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-explicit-type-identifier/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-explicit-type-identifier/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 16, - "end": 15, + "start": 7, + "end": 17, "loc": { "start": { - "line": 2, - "column": 0 + "line": 1, + "column": 7 }, "end": { - "line": 1, - "column": 15 + "line": 2, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-boolean-explicit-string/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-boolean-explicit-string/output.json index a8f898034c39..8ee139f5c47c 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-boolean-explicit-string/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-boolean-explicit-string/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 30, + "start": 7, + "end": 32, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 11 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-literal-explicit-symbol/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-literal-explicit-symbol/output.json index 4cf1122979e8..8c2e7e69ab33 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-literal-explicit-symbol/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-literal-explicit-symbol/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumSymbolBody", - "start": 21, - "end": 27, + "start": 7, + "end": 29, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 8 + "line": 3, + "column": 1 } }, "members": [] diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-boolean/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-boolean/output.json index c737d1129440..ac17cf909b1c 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-boolean/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-boolean/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 22, - "end": 28, + "start": 7, + "end": 30, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 8 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-string/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-string/output.json index 653573513644..5dbb2447870d 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-string/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-number-explicit-string/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 27, + "start": 7, + "end": 29, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 8 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-boolean/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-boolean/output.json index 2f1b07d00c15..73b86a84e35a 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-boolean/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-boolean/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumBooleanBody", - "start": 22, - "end": 31, + "start": 7, + "end": 33, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 11 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-number/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-number/output.json index 263ac8c203cb..15e121566e51 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-number/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-initializer-string-explicit-number/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumNumberBody", - "start": 21, - "end": 30, + "start": 7, + "end": 32, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 11 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-name/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-name/output.json index f4f24a70b045..9c80943ab347 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-name/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/invalid-member-name/output.json @@ -66,16 +66,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 22, + "start": 7, + "end": 24, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 6 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/no-trailing-comma/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/no-trailing-comma/output.json index ed614a856575..fd6f4450b1a6 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/no-trailing-comma/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/no-trailing-comma/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 12, + "start": 7, + "end": 14, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 3 + "line": 3, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-explicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-explicit/output.json index 4f5a6f26c614..e03f6e9712bd 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-explicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-explicit/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumNumberBody", - "start": 21, - "end": 36, + "start": 7, + "end": 38, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-implicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-implicit/output.json index 862a8bc5691b..9a2f18345cd2 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-implicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-implicit/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumNumberBody", - "start": 11, - "end": 26, + "start": 7, + "end": 28, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-explicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-explicit/output.json index 8408025e1256..399366269eef 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-explicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-explicit/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumNumberBody", - "start": 21, - "end": 23, + "start": 7, + "end": 25, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 2, - "column": 4 + "line": 3, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-implicit/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-implicit/output.json index 67dae3487d84..f2277d9ffcc8 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-implicit/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/number-member-not-initialized-implicit/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumNumberBody", - "start": 11, - "end": 22, + "start": 7, + "end": 24, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/reserved-word-enum-name/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/reserved-word-enum-name/output.json index f80ecb8f4d3d..57e3c5d82dcd 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/reserved-word-enum-name/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/reserved-word-enum-name/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 13, - "end": 12, + "start": 11, + "end": 14, "loc": { "start": { - "line": 2, - "column": 0 + "line": 1, + "column": 11 }, "end": { - "line": 1, - "column": 12 + "line": 2, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-defaulted/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-defaulted/output.json index 57cc928ec552..4efdf8e46049 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-defaulted/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-defaulted/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 28, + "start": 7, + "end": 30, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 4 + "line": 4, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-initialized/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-initialized/output.json index 1ab361d41977..2e9c91c109ff 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-initialized/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-explicit-initialized/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 40, + "start": 7, + "end": 42, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 10 + "line": 4, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-defaulted/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-defaulted/output.json index b14d096085c2..28842c5fd477 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-defaulted/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-defaulted/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 18, + "start": 7, + "end": 20, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 4 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-initialized/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-initialized/output.json index 8f3e4e6eb48a..1680f3f2cc51 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-initialized/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-implicit-initialized/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumStringBody", - "start": 11, - "end": 30, + "start": 7, + "end": 32, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 10 + "line": 4, + "column": 1 } }, "explicitType": false, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-defaulted/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-defaulted/output.json index f3a0304fb310..b5a5dc4951a9 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-defaulted/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-defaulted/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 39, + "start": 7, + "end": 41, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 4, - "column": 4 + "line": 5, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-initialized/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-initialized/output.json index 9a637136e9c2..19e00f8d51c7 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-initialized/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/string-member-inconsistently-initialized-majority-initialized/output.json @@ -65,16 +65,16 @@ }, "body": { "type": "EnumStringBody", - "start": 21, - "end": 45, + "start": 7, + "end": 47, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 4, - "column": 10 + "line": 5, + "column": 1 } }, "explicitType": true, diff --git a/packages/babel-parser/test/fixtures/flow/enum-declaration/symbol/output.json b/packages/babel-parser/test/fixtures/flow/enum-declaration/symbol/output.json index 6f5ba3e152c1..b93b653940b8 100644 --- a/packages/babel-parser/test/fixtures/flow/enum-declaration/symbol/output.json +++ b/packages/babel-parser/test/fixtures/flow/enum-declaration/symbol/output.json @@ -62,16 +62,16 @@ }, "body": { "type": "EnumSymbolBody", - "start": 21, - "end": 28, + "start": 7, + "end": 30, "loc": { "start": { - "line": 2, - "column": 2 + "line": 1, + "column": 7 }, "end": { - "line": 3, - "column": 4 + "line": 4, + "column": 1 } }, "members": [