From 90d416792f1fe71e14c7b74fd255d368dd32d75a Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Mon, 3 Apr 2023 20:26:03 +0800 Subject: [PATCH 1/2] remove --- .../babel-generator/src/generators/flow.ts | 47 ++++++++++--------- .../src/ast-types/generated/index.ts | 8 +--- packages/babel-types/src/definitions/flow.ts | 13 +++-- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/packages/babel-generator/src/generators/flow.ts b/packages/babel-generator/src/generators/flow.ts index 563d158d5327..eda60bae7244 100644 --- a/packages/babel-generator/src/generators/flow.ts +++ b/packages/babel-generator/src/generators/flow.ts @@ -299,7 +299,7 @@ export function ExistsTypeAnnotation(this: Printer) { export function FunctionTypeAnnotation( this: Printer, node: t.FunctionTypeAnnotation, - parent: t.Node | void, + parent?: t.Node, ) { this.print(node.typeParameters, node); this.token("("); @@ -329,12 +329,14 @@ export function FunctionTypeAnnotation( this.token(")"); // this node type is overloaded, not sure why but it makes it EXTREMELY annoying + + const type = parent?.type; if ( - parent && - (parent.type === "ObjectTypeCallProperty" || - parent.type === "ObjectTypeInternalSlot" || - parent.type === "DeclareFunction" || - (parent.type === "ObjectTypeProperty" && parent.method)) + type != null && + (type === "ObjectTypeCallProperty" || + type === "ObjectTypeInternalSlot" || + type === "DeclareFunction" || + (type === "ObjectTypeProperty" && parent.method)) ) { this.token(":"); } else { @@ -378,17 +380,19 @@ export function _interfaceish( this.space(); this.printList(node.extends, node); } - if (node.mixins && node.mixins.length) { - this.space(); - this.word("mixins"); - this.space(); - this.printList(node.mixins, node); - } - if (node.implements && node.implements.length) { - this.space(); - this.word("implements"); - this.space(); - this.printList(node.implements, node); + if (node.type === "DeclareClass") { + if (node.mixins?.length) { + this.space(); + this.word("mixins"); + this.space(); + this.printList(node.mixins, node); + } + if (node.implements?.length) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } } this.space(); this.print(node.body, node); @@ -404,10 +408,11 @@ export function _variance( | t.ClassPrivateProperty | t.ClassAccessorProperty, ) { - if (node.variance) { - if (node.variance.kind === "plus") { + const kind = node.variance?.kind; + if (kind != null) { + if (kind === "plus") { this.token("+"); - } else if (node.variance.kind === "minus") { + } else if (kind === "minus") { this.token("-"); } } @@ -433,7 +438,7 @@ export function InterfaceTypeAnnotation( node: t.InterfaceTypeAnnotation, ) { this.word("interface"); - if (node.extends && node.extends.length) { + if (node.extends?.length) { this.space(); this.word("extends"); this.space(); diff --git a/packages/babel-types/src/ast-types/generated/index.ts b/packages/babel-types/src/ast-types/generated/index.ts index d8cc07988cdc..ba045b24d0d0 100644 --- a/packages/babel-types/src/ast-types/generated/index.ts +++ b/packages/babel-types/src/ast-types/generated/index.ts @@ -1137,8 +1137,6 @@ export interface DeclareInterface extends BaseNode { typeParameters?: TypeParameterDeclaration | null; extends?: Array | null; body: ObjectTypeAnnotation; - implements?: Array | null; - mixins?: Array | null; } export interface DeclareModule extends BaseNode { @@ -1234,8 +1232,6 @@ export interface InterfaceDeclaration extends BaseNode { typeParameters?: TypeParameterDeclaration | null; extends?: Array | null; body: ObjectTypeAnnotation; - implements?: Array | null; - mixins?: Array | null; } export interface InterfaceTypeAnnotation extends BaseNode { @@ -3651,9 +3647,7 @@ export interface ParentMaps { | ClassExpression | DeclareClass | DeclareExportDeclaration - | DeclareInterface - | DeclaredPredicate - | InterfaceDeclaration; + | DeclaredPredicate; ClassMethod: ClassBody; ClassPrivateMethod: ClassBody; ClassPrivateProperty: ClassBody; diff --git a/packages/babel-types/src/definitions/flow.ts b/packages/babel-types/src/definitions/flow.ts index d66d9420bfd8..0ded1d61252d 100644 --- a/packages/babel-types/src/definitions/flow.ts +++ b/packages/babel-types/src/definitions/flow.ts @@ -15,14 +15,15 @@ const defineType = defineAliasedType("Flow"); const defineInterfaceishType = ( name: "DeclareClass" | "DeclareInterface" | "InterfaceDeclaration", ) => { + const isDeclareClass = name === "DeclareClass"; + defineType(name, { builder: ["id", "typeParameters", "extends", "body"], visitor: [ "id", "typeParameters", "extends", - "mixins", - "implements", + ...(isDeclareClass ? ["mixins", "implements"] : []), "body", ], aliases: ["FlowDeclaration", "Statement", "Declaration"], @@ -30,8 +31,12 @@ const defineInterfaceishType = ( id: validateType("Identifier"), typeParameters: validateOptionalType("TypeParameterDeclaration"), extends: validateOptional(arrayOfType("InterfaceExtends")), - mixins: validateOptional(arrayOfType("InterfaceExtends")), - implements: validateOptional(arrayOfType("ClassImplements")), + ...(isDeclareClass + ? { + mixins: validateOptional(arrayOfType("InterfaceExtends")), + implements: validateOptional(arrayOfType("ClassImplements")), + } + : {}), body: validateType("ObjectTypeAnnotation"), }, }); From c623011d9a3900e24eea18b055894613fdd00b3e Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Mon, 3 Apr 2023 20:41:25 +0800 Subject: [PATCH 2/2] fix parser --- packages/babel-parser/src/plugins/flow/index.ts | 5 +++-- .../test/fixtures/flow/call-properties/5/output.json | 2 -- .../declare-export/export-interface-and-var/output.json | 2 -- .../declare-export/export-interface-commonjs/output.json | 2 -- .../flow/declare-export/export-interface/output.json | 2 -- .../test/fixtures/flow/declare-statements/15/output.json | 4 ---- .../output.json | 2 -- .../output.json | 2 -- .../output.json | 2 -- .../flow/interface-types/escape-in-interface/output.json | 2 -- .../extends-multiple-reserved-invalid-1/output.json | 2 -- .../extends-multiple-reserved-invalid-2/output.json | 2 -- .../extends-reserved-invalid-1/output.json | 2 -- .../extends-reserved-invalid-2/output.json | 2 -- .../flow/interfaces-module-and-script/1/output.json | 2 -- .../flow/interfaces-module-and-script/10/output.json | 2 -- .../flow/interfaces-module-and-script/2/output.json | 2 -- .../flow/interfaces-module-and-script/3/output.json | 2 -- .../flow/interfaces-module-and-script/4/output.json | 2 -- .../flow/interfaces-module-and-script/5/output.json | 2 -- .../id-reserved-type-invalid/output.json | 2 -- .../id-reserved-value/output.json | 2 -- .../identifier-named-static-method/output.json | 2 -- .../identifier-named-static-optional/output.json | 2 -- .../implements-exports/output.json | 2 -- .../flow/internal-slot/interface-method/output.json | 2 -- .../fixtures/flow/internal-slot/interface/output.json | 2 -- .../test/fixtures/flow/iterator/14/output.json | 2 -- .../test/fixtures/flow/iterator/15/output.json | 2 -- .../flow/multiple-declarations/interface/output.json | 4 ---- .../test/fixtures/flow/regression/issue-10044/output.json | 4 ---- .../flow/regression/issue-10675-interface/output.json | 2 -- .../scope/dupl-decl-const-declare-interface/output.json | 2 -- .../flow/scope/dupl-decl-const-interface/output.json | 2 -- .../dupl-decl-declare-class-declare-interface/output.json | 2 -- .../dupl-decl-declare-interface-declare-class/output.json | 2 -- .../flow/scope/dupl-decl-interface-interface/output.json | 4 ---- .../scope/dupl-decl-let-declare-interface/output.json | 2 -- .../flow/scope/dupl-decl-let-interface/output.json | 2 -- .../flow/scope/dupl-decl-type-interface/output.json | 2 -- .../scope/dupl-decl-var-declare-interface/output.json | 2 -- .../flow/scope/dupl-decl-var-interface/output.json | 2 -- .../test/fixtures/flow/type-annotations/137/output.json | 2 -- .../test/fixtures/flow/type-exports/interface/output.json | 4 ---- .../declare-interface-method-reserved-word/output.json | 2 -- .../flow/type-parameter-declaration/default/output.json | 8 -------- .../interface-reserved-word/output.json | 2 -- 47 files changed, 3 insertions(+), 110 deletions(-) diff --git a/packages/babel-parser/src/plugins/flow/index.ts b/packages/babel-parser/src/plugins/flow/index.ts index 2b01dee571db..5ff1a7f0d512 100644 --- a/packages/babel-parser/src/plugins/flow/index.ts +++ b/packages/babel-parser/src/plugins/flow/index.ts @@ -717,8 +717,6 @@ export default (superClass: typeof Parser) => } node.extends = []; - node.implements = []; - node.mixins = []; if (this.eat(tt._extends)) { do { @@ -727,6 +725,9 @@ export default (superClass: typeof Parser) => } if (isClass) { + node.implements = []; + node.mixins = []; + if (this.eatContextual(tt._mixins)) { do { node.mixins.push(this.flowParseInterfaceExtends()); diff --git a/packages/babel-parser/test/fixtures/flow/call-properties/5/output.json b/packages/babel-parser/test/fixtures/flow/call-properties/5/output.json index 3128b4dd78b7..869e3671ac95 100644 --- a/packages/babel-parser/test/fixtures/flow/call-properties/5/output.json +++ b/packages/babel-parser/test/fixtures/flow/call-properties/5/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":27,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":27,"index":27}}, diff --git a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-and-var/output.json b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-and-var/output.json index 6d9c36f909a4..c9ad011b0712 100644 --- a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-and-var/output.json +++ b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-and-var/output.json @@ -38,8 +38,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":52,"end":54,"loc":{"start":{"line":1,"column":52,"index":52},"end":{"line":1,"column":54,"index":54}}, diff --git a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-commonjs/output.json b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-commonjs/output.json index 1276d9a3602d..e15bdbab0ebf 100644 --- a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-commonjs/output.json +++ b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface-commonjs/output.json @@ -38,8 +38,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":52,"end":54,"loc":{"start":{"line":1,"column":52,"index":52},"end":{"line":1,"column":54,"index":54}}, diff --git a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface/output.json b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface/output.json index 6c4eb424adbb..b1afc7ddb1c0 100644 --- a/packages/babel-parser/test/fixtures/flow/declare-export/export-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/declare-export/export-interface/output.json @@ -38,8 +38,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":52,"end":54,"loc":{"start":{"line":1,"column":52,"index":52},"end":{"line":1,"column":54,"index":54}}, diff --git a/packages/babel-parser/test/fixtures/flow/declare-statements/15/output.json b/packages/babel-parser/test/fixtures/flow/declare-statements/15/output.json index 1123e0e2388c..23ca658d239c 100644 --- a/packages/babel-parser/test/fixtures/flow/declare-statements/15/output.json +++ b/packages/babel-parser/test/fixtures/flow/declare-statements/15/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":35,"loc":{"start":{"line":1,"column":20,"index":20},"end":{"line":1,"column":35,"index":35}}, @@ -70,8 +68,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":60,"end":70,"loc":{"start":{"line":2,"column":24,"index":60},"end":{"line":2,"column":34,"index":70}}, diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/output.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/output.json index d563aac74d14..c1b319d97cbf 100644 --- a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/output.json +++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":45,"loc":{"start":{"line":2,"column":12,"index":20},"end":{"line":5,"column":1,"index":45}}, diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/output.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/output.json index c24c225a1733..ecd05c31f0f4 100644 --- a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/output.json +++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/output.json @@ -21,8 +21,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":45,"loc":{"start":{"line":2,"column":12,"index":20},"end":{"line":5,"column":1,"index":45}}, diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/output.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/output.json index 8f0f0536c40e..852333f14ce1 100644 --- a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/output.json +++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/output.json @@ -21,8 +21,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":60,"loc":{"start":{"line":2,"column":12,"index":20},"end":{"line":6,"column":1,"index":60}}, diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/escape-in-interface/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/escape-in-interface/output.json index fee58fcbac70..fb3f46eadea1 100644 --- a/packages/babel-parser/test/fixtures/flow/interface-types/escape-in-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/interface-types/escape-in-interface/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":17,"end":19,"loc":{"start":{"line":1,"column":17,"index":17},"end":{"line":1,"column":19,"index":19}}, diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-1/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-1/output.json index f609a68d5d18..b1b305e651bd 100644 --- a/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-1/output.json +++ b/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-1/output.json @@ -41,8 +41,6 @@ "typeParameters": null } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":37,"end":39,"loc":{"start":{"line":2,"column":28,"index":37},"end":{"line":2,"column":30,"index":39}}, diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-2/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-2/output.json index 196b553d0181..357d16fe3d4e 100644 --- a/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-2/output.json +++ b/packages/babel-parser/test/fixtures/flow/interface-types/extends-multiple-reserved-invalid-2/output.json @@ -50,8 +50,6 @@ "typeParameters": null } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":39,"end":41,"loc":{"start":{"line":2,"column":30,"index":39},"end":{"line":2,"column":32,"index":41}}, diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-1/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-1/output.json index 6a46e5d1bc49..8a88f6f3b2c4 100644 --- a/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-1/output.json +++ b/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-1/output.json @@ -31,8 +31,6 @@ "typeParameters": null } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":34,"end":36,"loc":{"start":{"line":2,"column":25,"index":34},"end":{"line":2,"column":27,"index":36}}, diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-2/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-2/output.json index df67a9d4f936..f0073e27f62f 100644 --- a/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-2/output.json +++ b/packages/babel-parser/test/fixtures/flow/interface-types/extends-reserved-invalid-2/output.json @@ -40,8 +40,6 @@ "typeParameters": null } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":36,"end":38,"loc":{"start":{"line":2,"column":27,"index":36},"end":{"line":2,"column":29,"index":38}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/1/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/1/output.json index df6b10fb387e..91d6583f53f7 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/1/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/1/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":14,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":14,"index":14}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json index da9656825b30..79d02733d13f 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":15,"end":51,"loc":{"start":{"line":1,"column":15,"index":15},"end":{"line":4,"column":1,"index":51}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/2/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/2/output.json index 64ea3eb14606..ac5a6678c1a1 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/2/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/2/output.json @@ -28,8 +28,6 @@ "typeParameters": null } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":22,"end":24,"loc":{"start":{"line":1,"column":22,"index":22},"end":{"line":1,"column":24,"index":24}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/3/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/3/output.json index 03ef74e696ac..0b3950a3ee46 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/3/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/3/output.json @@ -79,8 +79,6 @@ } } ], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":34,"end":36,"loc":{"start":{"line":1,"column":34,"index":34},"end":{"line":1,"column":36,"index":36}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/4/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/4/output.json index 42b95e26e27c..323380685d99 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/4/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/4/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":34,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":34,"index":34}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/5/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/5/output.json index 104aae2ca987..e0412017f868 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/5/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/5/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":21,"end":65,"loc":{"start":{"line":1,"column":21,"index":21},"end":{"line":1,"column":65,"index":65}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/output.json index e091669d0448..8bc639c6d297 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":17,"end":19,"loc":{"start":{"line":1,"column":17,"index":17},"end":{"line":1,"column":19,"index":19}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-value/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-value/output.json index fdbab9bc33c1..412773d5e898 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-value/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-value/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":17,"end":19,"loc":{"start":{"line":1,"column":17,"index":17},"end":{"line":1,"column":19,"index":19}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json index 4e546c840d6e..18bb10fa0fdf 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":32,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":32,"index":32}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-optional/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-optional/output.json index ec77e01537f0..d1c77b004b66 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-optional/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-optional/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":31,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":31,"index":31}}, diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-exports/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-exports/output.json index 1f2448b4736d..44257833a219 100644 --- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-exports/output.json +++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-exports/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":14,"end":16,"loc":{"start":{"line":1,"column":14,"index":14},"end":{"line":1,"column":16,"index":16}}, diff --git a/packages/babel-parser/test/fixtures/flow/internal-slot/interface-method/output.json b/packages/babel-parser/test/fixtures/flow/internal-slot/interface-method/output.json index cafc65b951d2..0d2e527e5d54 100644 --- a/packages/babel-parser/test/fixtures/flow/internal-slot/interface-method/output.json +++ b/packages/babel-parser/test/fixtures/flow/internal-slot/interface-method/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":28,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":28,"index":28}}, diff --git a/packages/babel-parser/test/fixtures/flow/internal-slot/interface/output.json b/packages/babel-parser/test/fixtures/flow/internal-slot/interface/output.json index 1bcb25639f20..2e0f066969ff 100644 --- a/packages/babel-parser/test/fixtures/flow/internal-slot/interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/internal-slot/interface/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":26,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":26,"index":26}}, diff --git a/packages/babel-parser/test/fixtures/flow/iterator/14/output.json b/packages/babel-parser/test/fixtures/flow/iterator/14/output.json index e06d070138a9..d306c81bfaee 100644 --- a/packages/babel-parser/test/fixtures/flow/iterator/14/output.json +++ b/packages/babel-parser/test/fixtures/flow/iterator/14/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":47,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":3,"column":1,"index":47}}, diff --git a/packages/babel-parser/test/fixtures/flow/iterator/15/output.json b/packages/babel-parser/test/fixtures/flow/iterator/15/output.json index f203c9e69e50..1250c13653d6 100644 --- a/packages/babel-parser/test/fixtures/flow/iterator/15/output.json +++ b/packages/babel-parser/test/fixtures/flow/iterator/15/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":52,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":3,"column":1,"index":52}}, diff --git a/packages/babel-parser/test/fixtures/flow/multiple-declarations/interface/output.json b/packages/babel-parser/test/fixtures/flow/multiple-declarations/interface/output.json index bf1d231977a8..c7ed6f54224f 100644 --- a/packages/babel-parser/test/fixtures/flow/multiple-declarations/interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/multiple-declarations/interface/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":14,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":14,"index":14}}, @@ -46,8 +44,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":28,"end":30,"loc":{"start":{"line":2,"column":12,"index":28},"end":{"line":2,"column":14,"index":30}}, diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-10044/output.json b/packages/babel-parser/test/fixtures/flow/regression/issue-10044/output.json index c81df25b44a6..39fb2c7d89f0 100644 --- a/packages/babel-parser/test/fixtures/flow/regression/issue-10044/output.json +++ b/packages/babel-parser/test/fixtures/flow/regression/issue-10044/output.json @@ -39,8 +39,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":41,"end":43,"loc":{"start":{"line":2,"column":21,"index":41},"end":{"line":2,"column":23,"index":43}}, @@ -75,8 +73,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":84,"end":86,"loc":{"start":{"line":5,"column":13,"index":84},"end":{"line":5,"column":15,"index":86}}, diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-10675-interface/output.json b/packages/babel-parser/test/fixtures/flow/regression/issue-10675-interface/output.json index ab9059a5c487..b2732f911f22 100644 --- a/packages/babel-parser/test/fixtures/flow/regression/issue-10675-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/regression/issue-10675-interface/output.json @@ -28,8 +28,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":16,"end":18,"loc":{"start":{"line":1,"column":16,"index":16},"end":{"line":1,"column":18,"index":18}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-declare-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-declare-interface/output.json index d3ad1135cb50..f4e3731c5764 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-declare-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-declare-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":33,"end":35,"loc":{"start":{"line":2,"column":20,"index":33},"end":{"line":2,"column":22,"index":35}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-interface/output.json index 5c1fe0b06d9e..15676711c678 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-const-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":25,"end":27,"loc":{"start":{"line":2,"column":12,"index":25},"end":{"line":2,"column":14,"index":27}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-class-declare-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-class-declare-interface/output.json index 352ccd6d4bcd..32868351098a 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-class-declare-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-class-declare-interface/output.json @@ -42,8 +42,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":39,"end":41,"loc":{"start":{"line":2,"column":20,"index":39},"end":{"line":2,"column":22,"index":41}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-interface-declare-class/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-interface-declare-class/output.json index d8d866226912..d9b7800005d1 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-interface-declare-class/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-declare-interface-declare-class/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":22,"loc":{"start":{"line":1,"column":20,"index":20},"end":{"line":1,"column":22,"index":22}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-interface-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-interface-interface/output.json index e0a7d2972e1f..6b2ee40f9bd6 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-interface-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-interface-interface/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":14,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":1,"column":14,"index":14}}, @@ -42,8 +40,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":27,"end":29,"loc":{"start":{"line":2,"column":12,"index":27},"end":{"line":2,"column":14,"index":29}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-declare-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-declare-interface/output.json index 69a3ed3cb921..3c0516802e58 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-declare-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-declare-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":31,"end":33,"loc":{"start":{"line":2,"column":20,"index":31},"end":{"line":2,"column":22,"index":33}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-interface/output.json index d2c254e7a25f..44d404ef4202 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-let-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":23,"end":25,"loc":{"start":{"line":2,"column":12,"index":23},"end":{"line":2,"column":14,"index":25}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-type-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-type-interface/output.json index a8f374b112ca..f98dffe0ac0c 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-type-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-type-interface/output.json @@ -34,8 +34,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":29,"end":31,"loc":{"start":{"line":2,"column":12,"index":29},"end":{"line":2,"column":14,"index":31}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-declare-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-declare-interface/output.json index 7bc6fb64c544..3184c25ae0f4 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-declare-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-declare-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":31,"end":33,"loc":{"start":{"line":2,"column":20,"index":31},"end":{"line":2,"column":22,"index":33}}, diff --git a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-interface/output.json b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-interface/output.json index c10a357d57d1..adb90b4a8992 100644 --- a/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/scope/dupl-decl-var-interface/output.json @@ -45,8 +45,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":23,"end":25,"loc":{"start":{"line":2,"column":12,"index":23},"end":{"line":2,"column":14,"index":25}}, diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/137/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/137/output.json index dd773fefb8c9..aebba9ed3c47 100644 --- a/packages/babel-parser/test/fixtures/flow/type-annotations/137/output.json +++ b/packages/babel-parser/test/fixtures/flow/type-annotations/137/output.json @@ -20,8 +20,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":24,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":3,"column":1,"index":24}}, diff --git a/packages/babel-parser/test/fixtures/flow/type-exports/interface/output.json b/packages/babel-parser/test/fixtures/flow/type-exports/interface/output.json index ea8ee4363813..ab59a046f19a 100644 --- a/packages/babel-parser/test/fixtures/flow/type-exports/interface/output.json +++ b/packages/babel-parser/test/fixtures/flow/type-exports/interface/output.json @@ -23,8 +23,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":21,"end":34,"loc":{"start":{"line":1,"column":21,"index":21},"end":{"line":1,"column":34,"index":34}}, @@ -87,8 +85,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":60,"end":68,"loc":{"start":{"line":2,"column":24,"index":60},"end":{"line":2,"column":32,"index":68}}, diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/declare-interface-method-reserved-word/output.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/declare-interface-method-reserved-word/output.json index 7be883c539e6..855488d18b1d 100644 --- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/declare-interface-method-reserved-word/output.json +++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/declare-interface-method-reserved-word/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":20,"end":102,"loc":{"start":{"line":1,"column":20,"index":20},"end":{"line":6,"column":1,"index":102}}, diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/default/output.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/default/output.json index 75e22dae1f7f..5884b9f09bec 100644 --- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/default/output.json +++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/default/output.json @@ -847,8 +847,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":649,"end":651,"loc":{"start":{"line":18,"column":26,"index":649},"end":{"line":18,"column":28,"index":651}}, @@ -896,8 +894,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":687,"end":689,"loc":{"start":{"line":19,"column":35,"index":687},"end":{"line":19,"column":37,"index":689}}, @@ -951,8 +947,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":728,"end":730,"loc":{"start":{"line":20,"column":38,"index":728},"end":{"line":20,"column":40,"index":730}}, @@ -1010,8 +1004,6 @@ ] }, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":778,"end":780,"loc":{"start":{"line":21,"column":47,"index":778},"end":{"line":21,"column":49,"index":780}}, diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/interface-reserved-word/output.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/interface-reserved-word/output.json index 622a9e16d500..098eb081efc9 100644 --- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/interface-reserved-word/output.json +++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/interface-reserved-word/output.json @@ -17,8 +17,6 @@ }, "typeParameters": null, "extends": [], - "implements": [], - "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":12,"end":94,"loc":{"start":{"line":1,"column":12,"index":12},"end":{"line":6,"column":1,"index":94}},