diff --git a/generate/testdata/snapshots/TestGenerate-CovariantInterfaceImplementation.graphql-CovariantInterfaceImplementation.graphql.go b/generate/testdata/snapshots/TestGenerate-CovariantInterfaceImplementation.graphql-CovariantInterfaceImplementation.graphql.go index 3f549d01..47213148 100644 --- a/generate/testdata/snapshots/TestGenerate-CovariantInterfaceImplementation.graphql-CovariantInterfaceImplementation.graphql.go +++ b/generate/testdata/snapshots/TestGenerate-CovariantInterfaceImplementation.graphql-CovariantInterfaceImplementation.graphql.go @@ -28,14 +28,8 @@ type ContentFields interface { } func (v *ContentFieldsArticle) implementsGraphQLInterfaceContentFields() {} -func (v *ContentFieldsArticle) implementsGraphQLInterfaceNext() {} -func (v *ContentFieldsArticle) implementsGraphQLInterfaceRelated() {} func (v *ContentFieldsTopic) implementsGraphQLInterfaceContentFields() {} -func (v *ContentFieldsTopic) implementsGraphQLInterfaceNext() {} -func (v *ContentFieldsTopic) implementsGraphQLInterfaceRelated() {} func (v *ContentFieldsVideo) implementsGraphQLInterfaceContentFields() {} -func (v *ContentFieldsVideo) implementsGraphQLInterfaceNext() {} -func (v *ContentFieldsVideo) implementsGraphQLInterfaceRelated() {} func __unmarshalContentFields(b []byte, v *ContentFields) error { if string(b) == "null" { @@ -893,16 +887,10 @@ type CovariantInterfaceImplementationRandomItemContent interface { func (v *CovariantInterfaceImplementationRandomItemArticle) implementsGraphQLInterfaceCovariantInterfaceImplementationRandomItemContent() { } -func (v *CovariantInterfaceImplementationRandomItemArticle) implementsGraphQLInterfaceNext() {} -func (v *CovariantInterfaceImplementationRandomItemArticle) implementsGraphQLInterfaceRelated() {} func (v *CovariantInterfaceImplementationRandomItemTopic) implementsGraphQLInterfaceCovariantInterfaceImplementationRandomItemContent() { } -func (v *CovariantInterfaceImplementationRandomItemTopic) implementsGraphQLInterfaceNext() {} -func (v *CovariantInterfaceImplementationRandomItemTopic) implementsGraphQLInterfaceRelated() {} func (v *CovariantInterfaceImplementationRandomItemVideo) implementsGraphQLInterfaceCovariantInterfaceImplementationRandomItemContent() { } -func (v *CovariantInterfaceImplementationRandomItemVideo) implementsGraphQLInterfaceNext() {} -func (v *CovariantInterfaceImplementationRandomItemVideo) implementsGraphQLInterfaceRelated() {} func __unmarshalCovariantInterfaceImplementationRandomItemContent(b []byte, v *CovariantInterfaceImplementationRandomItemContent) error { if string(b) == "null" { diff --git a/generate/types.go b/generate/types.go index f87a04b4..7641d9b1 100644 --- a/generate/types.go +++ b/generate/types.go @@ -526,12 +526,11 @@ func (typ *goInterfaceType) WriteDefinition(w io.Writer, g *generator) error { // implement nested interface union type for _, sharedField := range typ.SharedFields { if sharedField.IsAbstract() { - name := sharedField.GoName - if name == "" { - name = sharedField.GoType.Reference() + // embedded type + if sharedField.GoName == "" { + fmt.Fprintf(w, "func (v *%s) %s() {}\n", + impl.Reference(), fmt.Sprintf("implementsGraphQLInterface%s", sharedField.GoType.Reference())) } - fmt.Fprintf(w, "func (v *%s) %s() {}\n", - impl.Reference(), fmt.Sprintf("implementsGraphQLInterface%s", name)) } } }