From 8ea43ca15a0a38b82f2fd9ab3561eaec42c22f92 Mon Sep 17 00:00:00 2001 From: LiLatee Date: Mon, 8 Jan 2024 16:15:17 +0100 Subject: [PATCH 1/4] test: issue_with_implementing_not_existing_classes --- .../lib/graphql/schema.graphql | 25 +++++++++++++++++++ .../connection.graphql | 15 +++++++++++ .../field1.graphql | 3 +++ .../field1_1.graphql | 6 +++++ .../field2.graphql | 3 +++ 5 files changed, 52 insertions(+) create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1.graphql create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field2.graphql diff --git a/codegen/end_to_end_test/lib/graphql/schema.graphql b/codegen/end_to_end_test/lib/graphql/schema.graphql index d075df72..639086b5 100644 --- a/codegen/end_to_end_test/lib/graphql/schema.graphql +++ b/codegen/end_to_end_test/lib/graphql/schema.graphql @@ -205,3 +205,28 @@ scalar ISODate scalar CustomField scalar Json + +### START - issue_with_implementing_not_existing_classes +type Connection { + field1: [Field1Edge!]! + field2: Field2! +} + +type Field1Edge { + field1_1: Field1_1! +} + +type Field1 { + field1_1: Field1_1 +} + +type Field1_1 { + field1_1_1: Field1_1_1! +} + +type Field1_1_1 { +} + +type Field2 { +} +### END - issue_with_implementing_not_existing_classes \ No newline at end of file diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql new file mode 100644 index 00000000..626e0a0a --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql @@ -0,0 +1,15 @@ +# import 'package:end_to_end_test/graphql/issue_with_implementing_not_existing_classes/field2.graphql' +# import 'package:end_to_end_test/graphql/issue_with_implementing_not_existing_classes/field1_1.graphql' + +fragment Connection on Connection { + __typename + field1 { + __typename + field1_1 { + ...Field1_1 + } + } + field2 { + ...Field2 + } +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1.graphql new file mode 100644 index 00000000..1e1c8678 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1.graphql @@ -0,0 +1,3 @@ +fragment Field1 on Field1 { + __typename +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql new file mode 100644 index 00000000..f7542906 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql @@ -0,0 +1,6 @@ +fragment Field1_1 on Field1_1 { + __typename + field1_1_1 { + __typename + } +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field2.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field2.graphql new file mode 100644 index 00000000..466c3d83 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field2.graphql @@ -0,0 +1,3 @@ +fragment Field2 on Field2 { + __typename +} From 44daf9bf16fcdd6fd59b79caad6d064bc5609089 Mon Sep 17 00:00:00 2001 From: LiLatee Date: Mon, 8 Jan 2024 16:48:15 +0100 Subject: [PATCH 2/4] fix imports --- .../connection.graphql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql index 626e0a0a..6a9268ee 100644 --- a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql @@ -1,5 +1,5 @@ -# import 'package:end_to_end_test/graphql/issue_with_implementing_not_existing_classes/field2.graphql' -# import 'package:end_to_end_test/graphql/issue_with_implementing_not_existing_classes/field1_1.graphql' +# import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/field2.graphql' +# import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/field1_1.graphql' fragment Connection on Connection { __typename From e170a883981004a4ed1487e4d5963afbfe0c708c Mon Sep 17 00:00:00 2001 From: LiLatee Date: Tue, 9 Jan 2024 09:00:52 +0100 Subject: [PATCH 3/4] a little bit more familiar names of fields --- codegen/end_to_end_test/lib/graphql/schema.graphql | 10 +++++----- .../connection.graphql | 6 +++--- .../field11.graphql | 6 ++++++ .../field1_1.graphql | 6 ------ 4 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field11.graphql delete mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql diff --git a/codegen/end_to_end_test/lib/graphql/schema.graphql b/codegen/end_to_end_test/lib/graphql/schema.graphql index 86c6cc97..c1c26ca8 100644 --- a/codegen/end_to_end_test/lib/graphql/schema.graphql +++ b/codegen/end_to_end_test/lib/graphql/schema.graphql @@ -219,18 +219,18 @@ type Connection { } type Field1Edge { - field1_1: Field1_1! + field11: Field11! } type Field1 { - field1_1: Field1_1 + field11: Field11 } -type Field1_1 { - field1_1_1: Field1_1_1! +type Field11 { + field111: Field111! } -type Field1_1_1 { +type Field111 { } type Field2 { diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql index 6a9268ee..c82de034 100644 --- a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/connection.graphql @@ -1,12 +1,12 @@ # import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/field2.graphql' -# import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/field1_1.graphql' +# import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/field11.graphql' fragment Connection on Connection { __typename field1 { __typename - field1_1 { - ...Field1_1 + field11 { + ...Field11 } } field2 { diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field11.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field11.graphql new file mode 100644 index 00000000..625a7053 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field11.graphql @@ -0,0 +1,6 @@ +fragment Field11 on Field11 { + __typename + field111 { + __typename + } +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql deleted file mode 100644 index f7542906..00000000 --- a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/field1_1.graphql +++ /dev/null @@ -1,6 +0,0 @@ -fragment Field1_1 on Field1_1 { - __typename - field1_1_1 { - __typename - } -} From e81022e9728aad57aaa6c3cc76f4af0b8bd8e9e5 Mon Sep 17 00:00:00 2001 From: LiLatee Date: Tue, 9 Jan 2024 15:35:55 +0100 Subject: [PATCH 4/4] generate code without reuse-fragments --- .../graphql/__generated__/schema.ast.gql.dart | 94 ++ .../__generated__/serializers.gql.dart | 34 + .../__generated__/serializers.gql.g.dart | 17 + .../__generated__/connection.ast.gql.dart | 72 ++ .../__generated__/connection.data.gql.dart | 198 ++++ .../__generated__/connection.data.gql.g.dart | 846 ++++++++++++++++++ .../__generated__/connection.var.gql.dart | 32 + .../__generated__/connection.var.gql.g.dart | 91 ++ .../__generated__/field1.ast.gql.dart | 25 + .../__generated__/field1.data.gql.dart | 43 + .../__generated__/field1.data.gql.g.dart | 136 +++ .../__generated__/field1.var.gql.dart | 30 + .../__generated__/field1.var.gql.g.dart | 86 ++ .../__generated__/field11.ast.gql.dart | 40 + .../__generated__/field11.data.gql.dart | 83 ++ .../__generated__/field11.data.gql.g.dart | 314 +++++++ .../__generated__/field11.var.gql.dart | 31 + .../__generated__/field11.var.gql.g.dart | 89 ++ .../__generated__/field2.ast.gql.dart | 25 + .../__generated__/field2.data.gql.dart | 43 + .../__generated__/field2.data.gql.g.dart | 136 +++ .../__generated__/field2.var.gql.dart | 30 + .../__generated__/field2.var.gql.g.dart | 86 ++ 23 files changed, 2581 insertions(+) create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.ast.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.ast.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.ast.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.ast.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.g.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.dart create mode 100644 codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.g.dart diff --git a/codegen/end_to_end_test/lib/graphql/__generated__/schema.ast.gql.dart b/codegen/end_to_end_test/lib/graphql/__generated__/schema.ast.gql.dart index 3b75b47a..06479d84 100644 --- a/codegen/end_to_end_test/lib/graphql/__generated__/schema.ast.gql.dart +++ b/codegen/end_to_end_test/lib/graphql/__generated__/schema.ast.gql.dart @@ -1149,6 +1149,94 @@ const Json = _i1.ScalarTypeDefinitionNode( name: _i1.NameNode(value: 'Json'), directives: [], ); +const Connection = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Connection'), + directives: [], + interfaces: [], + fields: [ + _i1.FieldDefinitionNode( + name: _i1.NameNode(value: 'field1'), + directives: [], + args: [], + type: _i1.ListTypeNode( + type: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field1Edge'), + isNonNull: true, + ), + isNonNull: true, + ), + ), + _i1.FieldDefinitionNode( + name: _i1.NameNode(value: 'field2'), + directives: [], + args: [], + type: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field2'), + isNonNull: true, + ), + ), + ], +); +const Field1Edge = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Field1Edge'), + directives: [], + interfaces: [], + fields: [ + _i1.FieldDefinitionNode( + name: _i1.NameNode(value: 'field11'), + directives: [], + args: [], + type: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field11'), + isNonNull: true, + ), + ) + ], +); +const Field1 = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Field1'), + directives: [], + interfaces: [], + fields: [ + _i1.FieldDefinitionNode( + name: _i1.NameNode(value: 'field11'), + directives: [], + args: [], + type: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field11'), + isNonNull: false, + ), + ) + ], +); +const Field11 = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Field11'), + directives: [], + interfaces: [], + fields: [ + _i1.FieldDefinitionNode( + name: _i1.NameNode(value: 'field111'), + directives: [], + args: [], + type: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field111'), + isNonNull: true, + ), + ) + ], +); +const Field111 = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Field111'), + directives: [], + interfaces: [], + fields: [], +); +const Field2 = _i1.ObjectTypeDefinitionNode( + name: _i1.NameNode(value: 'Field2'), + directives: [], + interfaces: [], + fields: [], +); const document = _i1.DocumentNode(definitions: [ schema, Gextends, @@ -1178,4 +1266,10 @@ const document = _i1.DocumentNode(definitions: [ ISODate, CustomField, Json, + Connection, + Field1Edge, + Field1, + Field11, + Field111, + Field2, ]); diff --git a/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.dart b/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.dart index c1ae858a..32d31e3a 100644 --- a/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.dart +++ b/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.dart @@ -112,6 +112,27 @@ import 'package:end_to_end_test/interfaces/__generated__/hero_for_episode.req.gq show GHeroForEpisode; import 'package:end_to_end_test/interfaces/__generated__/hero_for_episode.var.gql.dart' show GDroidFragmentVars, GHeroForEpisodeVars; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.dart' + show + GConnectionData, + GConnectionData_field1, + GConnectionData_field1_field11, + GConnectionData_field1_field11_field111, + GConnectionData_field2; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.dart' + show GConnectionVars; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.dart' + show GField1Data; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.dart' + show GField1Vars; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart' + show GField11Data, GField11Data_field111; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.dart' + show GField11Vars; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart' + show GField2Data; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.dart' + show GField2Vars; import 'package:end_to_end_test/no_vars/__generated__/hero_no_vars.data.gql.dart' show GHeroNoVarsData, GHeroNoVarsData_hero; import 'package:end_to_end_test/no_vars/__generated__/hero_no_vars.req.gql.dart' @@ -163,6 +184,12 @@ final SerializersBuilder _serializersBuilder = _$serializers.toBuilder() GAliasedHeroData_jediHero, GAliasedHeroVars, GColorInput, + GConnectionData, + GConnectionData_field1, + GConnectionData_field1_field11, + GConnectionData_field1_field11_field111, + GConnectionData_field2, + GConnectionVars, GCreateCustomField, GCreateCustomFieldData, GCreateCustomFieldVars, @@ -174,6 +201,13 @@ final SerializersBuilder _serializersBuilder = _$serializers.toBuilder() GDroidFragmentData, GDroidFragmentVars, GEpisode, + GField11Data, + GField11Data_field111, + GField11Vars, + GField1Data, + GField1Vars, + GField2Data, + GField2Vars, GHeroForEpisode, GHeroForEpisodeData, GHeroForEpisodeData_hero__asDroid, diff --git a/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.g.dart b/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.g.dart index f7e67dc5..081f3cbb 100644 --- a/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.g.dart +++ b/codegen/end_to_end_test/lib/graphql/__generated__/serializers.gql.g.dart @@ -13,6 +13,12 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(GAliasedHeroData_jediHero.serializer) ..add(GAliasedHeroVars.serializer) ..add(GColorInput.serializer) + ..add(GConnectionData.serializer) + ..add(GConnectionData_field1.serializer) + ..add(GConnectionData_field1_field11.serializer) + ..add(GConnectionData_field1_field11_field111.serializer) + ..add(GConnectionData_field2.serializer) + ..add(GConnectionVars.serializer) ..add(GCreateCustomField.serializer) ..add(GCreateCustomFieldData.serializer) ..add(GCreateCustomFieldVars.serializer) @@ -24,6 +30,13 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(GDroidFragmentData.serializer) ..add(GDroidFragmentVars.serializer) ..add(GEpisode.serializer) + ..add(GField11Data.serializer) + ..add(GField11Data_field111.serializer) + ..add(GField11Vars.serializer) + ..add(GField1Data.serializer) + ..add(GField1Vars.serializer) + ..add(GField2Data.serializer) + ..add(GField2Vars.serializer) ..add(GHeroForEpisode.serializer) ..add(GHeroForEpisodeData.serializer) ..add(GHeroForEpisodeData_hero__asDroid.serializer) @@ -111,6 +124,10 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory( const FullType(BuiltList, const [const FullType(CustomField)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(GConnectionData_field1)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType.nullable(DateTime)]), () => new ListBuilder()) diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.ast.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.ast.gql.dart new file mode 100644 index 00000000..a95d0937 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.ast.gql.dart @@ -0,0 +1,72 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field11.ast.gql.dart' + as _i3; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field2.ast.gql.dart' + as _i2; +import 'package:gql/ast.dart' as _i1; + +const Connection = _i1.FragmentDefinitionNode( + name: _i1.NameNode(value: 'Connection'), + typeCondition: _i1.TypeConditionNode( + on: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Connection'), + isNonNull: false, + )), + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ), + _i1.FieldNode( + name: _i1.NameNode(value: 'field1'), + alias: null, + arguments: [], + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ), + _i1.FieldNode( + name: _i1.NameNode(value: 'field11'), + alias: null, + arguments: [], + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FragmentSpreadNode( + name: _i1.NameNode(value: 'Field11'), + directives: [], + ) + ]), + ), + ]), + ), + _i1.FieldNode( + name: _i1.NameNode(value: 'field2'), + alias: null, + arguments: [], + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FragmentSpreadNode( + name: _i1.NameNode(value: 'Field2'), + directives: [], + ) + ]), + ), + ]), +); +const document = _i1.DocumentNode(definitions: [ + Connection, + _i2.Field2, + _i3.Field11, +]); diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.dart new file mode 100644 index 00000000..8919cb52 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.dart @@ -0,0 +1,198 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i3; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart' + as _i2; +import 'package:end_to_end_test/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart' + as _i1; + +part 'connection.data.gql.g.dart'; + +abstract class GConnection { + String get G__typename; + BuiltList get field1; + _i1.GField2 get field2; + Map toJson(); +} + +abstract class GConnection_field1 { + String get G__typename; + _i2.GField11 get field11; + Map toJson(); +} + +abstract class GConnectionData + implements Built, GConnection { + GConnectionData._(); + + factory GConnectionData([void Function(GConnectionDataBuilder b) updates]) = + _$GConnectionData; + + static void _initializeBuilder(GConnectionDataBuilder b) => + b..G__typename = 'Connection'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + @override + BuiltList get field1; + @override + GConnectionData_field2 get field2; + static Serializer get serializer => + _$gConnectionDataSerializer; + + @override + Map toJson() => (_i3.serializers.serializeWith( + GConnectionData.serializer, + this, + ) as Map); + + static GConnectionData? fromJson(Map json) => + _i3.serializers.deserializeWith( + GConnectionData.serializer, + json, + ); +} + +abstract class GConnectionData_field1 + implements + Built, + GConnection_field1 { + GConnectionData_field1._(); + + factory GConnectionData_field1( + [void Function(GConnectionData_field1Builder b) updates]) = + _$GConnectionData_field1; + + static void _initializeBuilder(GConnectionData_field1Builder b) => + b..G__typename = 'Field1Edge'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + @override + GConnectionData_field1_field11 get field11; + static Serializer get serializer => + _$gConnectionDataField1Serializer; + + @override + Map toJson() => (_i3.serializers.serializeWith( + GConnectionData_field1.serializer, + this, + ) as Map); + + static GConnectionData_field1? fromJson(Map json) => + _i3.serializers.deserializeWith( + GConnectionData_field1.serializer, + json, + ); +} + +abstract class GConnectionData_field1_field11 + implements + Built, + _i2.GField11 { + GConnectionData_field1_field11._(); + + factory GConnectionData_field1_field11( + [void Function(GConnectionData_field1_field11Builder b) updates]) = + _$GConnectionData_field1_field11; + + static void _initializeBuilder(GConnectionData_field1_field11Builder b) => + b..G__typename = 'Field11'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + @override + GConnectionData_field1_field11_field111 get field111; + static Serializer get serializer => + _$gConnectionDataField1Field11Serializer; + + @override + Map toJson() => (_i3.serializers.serializeWith( + GConnectionData_field1_field11.serializer, + this, + ) as Map); + + static GConnectionData_field1_field11? fromJson(Map json) => + _i3.serializers.deserializeWith( + GConnectionData_field1_field11.serializer, + json, + ); +} + +abstract class GConnectionData_field1_field11_field111 + implements + Built, + GConnection_field1_field11_field111, + _i2.GField11_field111 { + GConnectionData_field1_field11_field111._(); + + factory GConnectionData_field1_field11_field111( + [void Function(GConnectionData_field1_field11_field111Builder b) + updates]) = _$GConnectionData_field1_field11_field111; + + static void _initializeBuilder( + GConnectionData_field1_field11_field111Builder b) => + b..G__typename = 'Field111'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + static Serializer get serializer => + _$gConnectionDataField1Field11Field111Serializer; + + @override + Map toJson() => (_i3.serializers.serializeWith( + GConnectionData_field1_field11_field111.serializer, + this, + ) as Map); + + static GConnectionData_field1_field11_field111? fromJson( + Map json) => + _i3.serializers.deserializeWith( + GConnectionData_field1_field11_field111.serializer, + json, + ); +} + +abstract class GConnectionData_field2 + implements + Built, + _i1.GField2 { + GConnectionData_field2._(); + + factory GConnectionData_field2( + [void Function(GConnectionData_field2Builder b) updates]) = + _$GConnectionData_field2; + + static void _initializeBuilder(GConnectionData_field2Builder b) => + b..G__typename = 'Field2'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + static Serializer get serializer => + _$gConnectionDataField2Serializer; + + @override + Map toJson() => (_i3.serializers.serializeWith( + GConnectionData_field2.serializer, + this, + ) as Map); + + static GConnectionData_field2? fromJson(Map json) => + _i3.serializers.deserializeWith( + GConnectionData_field2.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.g.dart new file mode 100644 index 00000000..2a1cbaee --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.data.gql.g.dart @@ -0,0 +1,846 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'connection.data.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gConnectionDataSerializer = + new _$GConnectionDataSerializer(); +Serializer _$gConnectionDataField1Serializer = + new _$GConnectionData_field1Serializer(); +Serializer + _$gConnectionDataField1Field11Serializer = + new _$GConnectionData_field1_field11Serializer(); +Serializer + _$gConnectionDataField1Field11Field111Serializer = + new _$GConnectionData_field1_field11_field111Serializer(); +Serializer _$gConnectionDataField2Serializer = + new _$GConnectionData_field2Serializer(); + +class _$GConnectionDataSerializer + implements StructuredSerializer { + @override + final Iterable types = const [GConnectionData, _$GConnectionData]; + @override + final String wireName = 'GConnectionData'; + + @override + Iterable serialize(Serializers serializers, GConnectionData object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + 'field1', + serializers.serialize(object.field1, + specifiedType: const FullType( + BuiltList, const [const FullType(GConnectionData_field1)])), + 'field2', + serializers.serialize(object.field2, + specifiedType: const FullType(GConnectionData_field2)), + ]; + + return result; + } + + @override + GConnectionData deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GConnectionDataBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'field1': + result.field1.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, const [ + const FullType(GConnectionData_field1) + ]))! as BuiltList); + break; + case 'field2': + result.field2.replace(serializers.deserialize(value, + specifiedType: const FullType(GConnectionData_field2))! + as GConnectionData_field2); + break; + } + } + + return result.build(); + } +} + +class _$GConnectionData_field1Serializer + implements StructuredSerializer { + @override + final Iterable types = const [ + GConnectionData_field1, + _$GConnectionData_field1 + ]; + @override + final String wireName = 'GConnectionData_field1'; + + @override + Iterable serialize( + Serializers serializers, GConnectionData_field1 object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + 'field11', + serializers.serialize(object.field11, + specifiedType: const FullType(GConnectionData_field1_field11)), + ]; + + return result; + } + + @override + GConnectionData_field1 deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GConnectionData_field1Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'field11': + result.field11.replace(serializers.deserialize(value, + specifiedType: + const FullType(GConnectionData_field1_field11))! + as GConnectionData_field1_field11); + break; + } + } + + return result.build(); + } +} + +class _$GConnectionData_field1_field11Serializer + implements StructuredSerializer { + @override + final Iterable types = const [ + GConnectionData_field1_field11, + _$GConnectionData_field1_field11 + ]; + @override + final String wireName = 'GConnectionData_field1_field11'; + + @override + Iterable serialize( + Serializers serializers, GConnectionData_field1_field11 object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + 'field111', + serializers.serialize(object.field111, + specifiedType: + const FullType(GConnectionData_field1_field11_field111)), + ]; + + return result; + } + + @override + GConnectionData_field1_field11 deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GConnectionData_field1_field11Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'field111': + result.field111.replace(serializers.deserialize(value, + specifiedType: + const FullType(GConnectionData_field1_field11_field111))! + as GConnectionData_field1_field11_field111); + break; + } + } + + return result.build(); + } +} + +class _$GConnectionData_field1_field11_field111Serializer + implements StructuredSerializer { + @override + final Iterable types = const [ + GConnectionData_field1_field11_field111, + _$GConnectionData_field1_field11_field111 + ]; + @override + final String wireName = 'GConnectionData_field1_field11_field111'; + + @override + Iterable serialize( + Serializers serializers, GConnectionData_field1_field11_field111 object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + GConnectionData_field1_field11_field111 deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GConnectionData_field1_field11_field111Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$GConnectionData_field2Serializer + implements StructuredSerializer { + @override + final Iterable types = const [ + GConnectionData_field2, + _$GConnectionData_field2 + ]; + @override + final String wireName = 'GConnectionData_field2'; + + @override + Iterable serialize( + Serializers serializers, GConnectionData_field2 object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + GConnectionData_field2 deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GConnectionData_field2Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$GConnectionData extends GConnectionData { + @override + final String G__typename; + @override + final BuiltList field1; + @override + final GConnectionData_field2 field2; + + factory _$GConnectionData([void Function(GConnectionDataBuilder)? updates]) => + (new GConnectionDataBuilder()..update(updates))._build(); + + _$GConnectionData._( + {required this.G__typename, required this.field1, required this.field2}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData', 'G__typename'); + BuiltValueNullFieldError.checkNotNull(field1, r'GConnectionData', 'field1'); + BuiltValueNullFieldError.checkNotNull(field2, r'GConnectionData', 'field2'); + } + + @override + GConnectionData rebuild(void Function(GConnectionDataBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionDataBuilder toBuilder() => + new GConnectionDataBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionData && + G__typename == other.G__typename && + field1 == other.field1 && + field2 == other.field2; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jc(_$hash, field1.hashCode); + _$hash = $jc(_$hash, field2.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GConnectionData') + ..add('G__typename', G__typename) + ..add('field1', field1) + ..add('field2', field2)) + .toString(); + } +} + +class GConnectionDataBuilder + implements Builder { + _$GConnectionData? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + ListBuilder? _field1; + ListBuilder get field1 => + _$this._field1 ??= new ListBuilder(); + set field1(ListBuilder? field1) => + _$this._field1 = field1; + + GConnectionData_field2Builder? _field2; + GConnectionData_field2Builder get field2 => + _$this._field2 ??= new GConnectionData_field2Builder(); + set field2(GConnectionData_field2Builder? field2) => _$this._field2 = field2; + + GConnectionDataBuilder() { + GConnectionData._initializeBuilder(this); + } + + GConnectionDataBuilder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _field1 = $v.field1.toBuilder(); + _field2 = $v.field2.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(GConnectionData other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionData; + } + + @override + void update(void Function(GConnectionDataBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionData build() => _build(); + + _$GConnectionData _build() { + _$GConnectionData _$result; + try { + _$result = _$v ?? + new _$GConnectionData._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData', 'G__typename'), + field1: field1.build(), + field2: field2.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'field1'; + field1.build(); + _$failedField = 'field2'; + field2.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'GConnectionData', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$GConnectionData_field1 extends GConnectionData_field1 { + @override + final String G__typename; + @override + final GConnectionData_field1_field11 field11; + + factory _$GConnectionData_field1( + [void Function(GConnectionData_field1Builder)? updates]) => + (new GConnectionData_field1Builder()..update(updates))._build(); + + _$GConnectionData_field1._({required this.G__typename, required this.field11}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field1', 'G__typename'); + BuiltValueNullFieldError.checkNotNull( + field11, r'GConnectionData_field1', 'field11'); + } + + @override + GConnectionData_field1 rebuild( + void Function(GConnectionData_field1Builder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionData_field1Builder toBuilder() => + new GConnectionData_field1Builder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionData_field1 && + G__typename == other.G__typename && + field11 == other.field11; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jc(_$hash, field11.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GConnectionData_field1') + ..add('G__typename', G__typename) + ..add('field11', field11)) + .toString(); + } +} + +class GConnectionData_field1Builder + implements Builder { + _$GConnectionData_field1? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GConnectionData_field1_field11Builder? _field11; + GConnectionData_field1_field11Builder get field11 => + _$this._field11 ??= new GConnectionData_field1_field11Builder(); + set field11(GConnectionData_field1_field11Builder? field11) => + _$this._field11 = field11; + + GConnectionData_field1Builder() { + GConnectionData_field1._initializeBuilder(this); + } + + GConnectionData_field1Builder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _field11 = $v.field11.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(GConnectionData_field1 other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionData_field1; + } + + @override + void update(void Function(GConnectionData_field1Builder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionData_field1 build() => _build(); + + _$GConnectionData_field1 _build() { + _$GConnectionData_field1 _$result; + try { + _$result = _$v ?? + new _$GConnectionData_field1._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field1', 'G__typename'), + field11: field11.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'field11'; + field11.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'GConnectionData_field1', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$GConnectionData_field1_field11 extends GConnectionData_field1_field11 { + @override + final String G__typename; + @override + final GConnectionData_field1_field11_field111 field111; + + factory _$GConnectionData_field1_field11( + [void Function(GConnectionData_field1_field11Builder)? updates]) => + (new GConnectionData_field1_field11Builder()..update(updates))._build(); + + _$GConnectionData_field1_field11._( + {required this.G__typename, required this.field111}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field1_field11', 'G__typename'); + BuiltValueNullFieldError.checkNotNull( + field111, r'GConnectionData_field1_field11', 'field111'); + } + + @override + GConnectionData_field1_field11 rebuild( + void Function(GConnectionData_field1_field11Builder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionData_field1_field11Builder toBuilder() => + new GConnectionData_field1_field11Builder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionData_field1_field11 && + G__typename == other.G__typename && + field111 == other.field111; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jc(_$hash, field111.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GConnectionData_field1_field11') + ..add('G__typename', G__typename) + ..add('field111', field111)) + .toString(); + } +} + +class GConnectionData_field1_field11Builder + implements + Builder { + _$GConnectionData_field1_field11? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GConnectionData_field1_field11_field111Builder? _field111; + GConnectionData_field1_field11_field111Builder get field111 => + _$this._field111 ??= new GConnectionData_field1_field11_field111Builder(); + set field111(GConnectionData_field1_field11_field111Builder? field111) => + _$this._field111 = field111; + + GConnectionData_field1_field11Builder() { + GConnectionData_field1_field11._initializeBuilder(this); + } + + GConnectionData_field1_field11Builder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _field111 = $v.field111.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(GConnectionData_field1_field11 other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionData_field1_field11; + } + + @override + void update(void Function(GConnectionData_field1_field11Builder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionData_field1_field11 build() => _build(); + + _$GConnectionData_field1_field11 _build() { + _$GConnectionData_field1_field11 _$result; + try { + _$result = _$v ?? + new _$GConnectionData_field1_field11._( + G__typename: BuiltValueNullFieldError.checkNotNull(G__typename, + r'GConnectionData_field1_field11', 'G__typename'), + field111: field111.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'field111'; + field111.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'GConnectionData_field1_field11', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$GConnectionData_field1_field11_field111 + extends GConnectionData_field1_field11_field111 { + @override + final String G__typename; + + factory _$GConnectionData_field1_field11_field111( + [void Function(GConnectionData_field1_field11_field111Builder)? + updates]) => + (new GConnectionData_field1_field11_field111Builder()..update(updates)) + ._build(); + + _$GConnectionData_field1_field11_field111._({required this.G__typename}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field1_field11_field111', 'G__typename'); + } + + @override + GConnectionData_field1_field11_field111 rebuild( + void Function(GConnectionData_field1_field11_field111Builder) + updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionData_field1_field11_field111Builder toBuilder() => + new GConnectionData_field1_field11_field111Builder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionData_field1_field11_field111 && + G__typename == other.G__typename; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper( + r'GConnectionData_field1_field11_field111') + ..add('G__typename', G__typename)) + .toString(); + } +} + +class GConnectionData_field1_field11_field111Builder + implements + Builder { + _$GConnectionData_field1_field11_field111? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GConnectionData_field1_field11_field111Builder() { + GConnectionData_field1_field11_field111._initializeBuilder(this); + } + + GConnectionData_field1_field11_field111Builder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _$v = null; + } + return this; + } + + @override + void replace(GConnectionData_field1_field11_field111 other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionData_field1_field11_field111; + } + + @override + void update( + void Function(GConnectionData_field1_field11_field111Builder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionData_field1_field11_field111 build() => _build(); + + _$GConnectionData_field1_field11_field111 _build() { + final _$result = _$v ?? + new _$GConnectionData_field1_field11_field111._( + G__typename: BuiltValueNullFieldError.checkNotNull(G__typename, + r'GConnectionData_field1_field11_field111', 'G__typename')); + replace(_$result); + return _$result; + } +} + +class _$GConnectionData_field2 extends GConnectionData_field2 { + @override + final String G__typename; + + factory _$GConnectionData_field2( + [void Function(GConnectionData_field2Builder)? updates]) => + (new GConnectionData_field2Builder()..update(updates))._build(); + + _$GConnectionData_field2._({required this.G__typename}) : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field2', 'G__typename'); + } + + @override + GConnectionData_field2 rebuild( + void Function(GConnectionData_field2Builder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionData_field2Builder toBuilder() => + new GConnectionData_field2Builder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionData_field2 && G__typename == other.G__typename; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GConnectionData_field2') + ..add('G__typename', G__typename)) + .toString(); + } +} + +class GConnectionData_field2Builder + implements Builder { + _$GConnectionData_field2? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GConnectionData_field2Builder() { + GConnectionData_field2._initializeBuilder(this); + } + + GConnectionData_field2Builder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _$v = null; + } + return this; + } + + @override + void replace(GConnectionData_field2 other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionData_field2; + } + + @override + void update(void Function(GConnectionData_field2Builder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionData_field2 build() => _build(); + + _$GConnectionData_field2 _build() { + final _$result = _$v ?? + new _$GConnectionData_field2._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GConnectionData_field2', 'G__typename')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.dart new file mode 100644 index 00000000..1e566beb --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.dart @@ -0,0 +1,32 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'connection.var.gql.g.dart'; + +abstract class GConnectionVars + implements Built { + GConnectionVars._(); + + factory GConnectionVars([void Function(GConnectionVarsBuilder b) updates]) = + _$GConnectionVars; + + static Serializer get serializer => + _$gConnectionVarsSerializer; + + Map toJson() => (_i1.serializers.serializeWith( + GConnectionVars.serializer, + this, + ) as Map); + + static GConnectionVars? fromJson(Map json) => + _i1.serializers.deserializeWith( + GConnectionVars.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.g.dart new file mode 100644 index 00000000..8726bfb6 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/connection.var.gql.g.dart @@ -0,0 +1,91 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'connection.var.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gConnectionVarsSerializer = + new _$GConnectionVarsSerializer(); + +class _$GConnectionVarsSerializer + implements StructuredSerializer { + @override + final Iterable types = const [GConnectionVars, _$GConnectionVars]; + @override + final String wireName = 'GConnectionVars'; + + @override + Iterable serialize(Serializers serializers, GConnectionVars object, + {FullType specifiedType = FullType.unspecified}) { + return []; + } + + @override + GConnectionVars deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + return new GConnectionVarsBuilder().build(); + } +} + +class _$GConnectionVars extends GConnectionVars { + factory _$GConnectionVars([void Function(GConnectionVarsBuilder)? updates]) => + (new GConnectionVarsBuilder()..update(updates))._build(); + + _$GConnectionVars._() : super._(); + + @override + GConnectionVars rebuild(void Function(GConnectionVarsBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GConnectionVarsBuilder toBuilder() => + new GConnectionVarsBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GConnectionVars; + } + + @override + int get hashCode { + return 532823377; + } + + @override + String toString() { + return newBuiltValueToStringHelper(r'GConnectionVars').toString(); + } +} + +class GConnectionVarsBuilder + implements Builder { + _$GConnectionVars? _$v; + + GConnectionVarsBuilder(); + + @override + void replace(GConnectionVars other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GConnectionVars; + } + + @override + void update(void Function(GConnectionVarsBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GConnectionVars build() => _build(); + + _$GConnectionVars _build() { + final _$result = _$v ?? new _$GConnectionVars._(); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.ast.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.ast.gql.dart new file mode 100644 index 00000000..58ec3526 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.ast.gql.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:gql/ast.dart' as _i1; + +const Field1 = _i1.FragmentDefinitionNode( + name: _i1.NameNode(value: 'Field1'), + typeCondition: _i1.TypeConditionNode( + on: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field1'), + isNonNull: false, + )), + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ) + ]), +); +const document = _i1.DocumentNode(definitions: [Field1]); diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.dart new file mode 100644 index 00000000..5f70b40a --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.dart @@ -0,0 +1,43 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field1.data.gql.g.dart'; + +abstract class GField1 { + String get G__typename; + Map toJson(); +} + +abstract class GField1Data + implements Built, GField1 { + GField1Data._(); + + factory GField1Data([void Function(GField1DataBuilder b) updates]) = + _$GField1Data; + + static void _initializeBuilder(GField1DataBuilder b) => + b..G__typename = 'Field1'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + static Serializer get serializer => _$gField1DataSerializer; + + @override + Map toJson() => (_i1.serializers.serializeWith( + GField1Data.serializer, + this, + ) as Map); + + static GField1Data? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField1Data.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.g.dart new file mode 100644 index 00000000..401114ba --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.data.gql.g.dart @@ -0,0 +1,136 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field1.data.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField1DataSerializer = new _$GField1DataSerializer(); + +class _$GField1DataSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField1Data, _$GField1Data]; + @override + final String wireName = 'GField1Data'; + + @override + Iterable serialize(Serializers serializers, GField1Data object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + GField1Data deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GField1DataBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$GField1Data extends GField1Data { + @override + final String G__typename; + + factory _$GField1Data([void Function(GField1DataBuilder)? updates]) => + (new GField1DataBuilder()..update(updates))._build(); + + _$GField1Data._({required this.G__typename}) : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField1Data', 'G__typename'); + } + + @override + GField1Data rebuild(void Function(GField1DataBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField1DataBuilder toBuilder() => new GField1DataBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField1Data && G__typename == other.G__typename; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GField1Data') + ..add('G__typename', G__typename)) + .toString(); + } +} + +class GField1DataBuilder implements Builder { + _$GField1Data? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GField1DataBuilder() { + GField1Data._initializeBuilder(this); + } + + GField1DataBuilder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _$v = null; + } + return this; + } + + @override + void replace(GField1Data other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField1Data; + } + + @override + void update(void Function(GField1DataBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField1Data build() => _build(); + + _$GField1Data _build() { + final _$result = _$v ?? + new _$GField1Data._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField1Data', 'G__typename')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.dart new file mode 100644 index 00000000..efd43ed6 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.dart @@ -0,0 +1,30 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field1.var.gql.g.dart'; + +abstract class GField1Vars implements Built { + GField1Vars._(); + + factory GField1Vars([void Function(GField1VarsBuilder b) updates]) = + _$GField1Vars; + + static Serializer get serializer => _$gField1VarsSerializer; + + Map toJson() => (_i1.serializers.serializeWith( + GField1Vars.serializer, + this, + ) as Map); + + static GField1Vars? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField1Vars.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.g.dart new file mode 100644 index 00000000..2a49ed7f --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field1.var.gql.g.dart @@ -0,0 +1,86 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field1.var.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField1VarsSerializer = new _$GField1VarsSerializer(); + +class _$GField1VarsSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField1Vars, _$GField1Vars]; + @override + final String wireName = 'GField1Vars'; + + @override + Iterable serialize(Serializers serializers, GField1Vars object, + {FullType specifiedType = FullType.unspecified}) { + return []; + } + + @override + GField1Vars deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + return new GField1VarsBuilder().build(); + } +} + +class _$GField1Vars extends GField1Vars { + factory _$GField1Vars([void Function(GField1VarsBuilder)? updates]) => + (new GField1VarsBuilder()..update(updates))._build(); + + _$GField1Vars._() : super._(); + + @override + GField1Vars rebuild(void Function(GField1VarsBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField1VarsBuilder toBuilder() => new GField1VarsBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField1Vars; + } + + @override + int get hashCode { + return 849080424; + } + + @override + String toString() { + return newBuiltValueToStringHelper(r'GField1Vars').toString(); + } +} + +class GField1VarsBuilder implements Builder { + _$GField1Vars? _$v; + + GField1VarsBuilder(); + + @override + void replace(GField1Vars other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField1Vars; + } + + @override + void update(void Function(GField1VarsBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField1Vars build() => _build(); + + _$GField1Vars _build() { + final _$result = _$v ?? new _$GField1Vars._(); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.ast.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.ast.gql.dart new file mode 100644 index 00000000..2cb46c8e --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.ast.gql.dart @@ -0,0 +1,40 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:gql/ast.dart' as _i1; + +const Field11 = _i1.FragmentDefinitionNode( + name: _i1.NameNode(value: 'Field11'), + typeCondition: _i1.TypeConditionNode( + on: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field11'), + isNonNull: false, + )), + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ), + _i1.FieldNode( + name: _i1.NameNode(value: 'field111'), + alias: null, + arguments: [], + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ) + ]), + ), + ]), +); +const document = _i1.DocumentNode(definitions: [Field11]); diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart new file mode 100644 index 00000000..44e8011a --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.dart @@ -0,0 +1,83 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field11.data.gql.g.dart'; + +abstract class GField11 { + String get G__typename; + GField11_field111 get field111; + Map toJson(); +} + +abstract class GField11_field111 { + String get G__typename; + Map toJson(); +} + +abstract class GField11Data + implements Built, GField11 { + GField11Data._(); + + factory GField11Data([void Function(GField11DataBuilder b) updates]) = + _$GField11Data; + + static void _initializeBuilder(GField11DataBuilder b) => + b..G__typename = 'Field11'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + @override + GField11Data_field111 get field111; + static Serializer get serializer => _$gField11DataSerializer; + + @override + Map toJson() => (_i1.serializers.serializeWith( + GField11Data.serializer, + this, + ) as Map); + + static GField11Data? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField11Data.serializer, + json, + ); +} + +abstract class GField11Data_field111 + implements + Built, + GField11_field111 { + GField11Data_field111._(); + + factory GField11Data_field111( + [void Function(GField11Data_field111Builder b) updates]) = + _$GField11Data_field111; + + static void _initializeBuilder(GField11Data_field111Builder b) => + b..G__typename = 'Field111'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + static Serializer get serializer => + _$gField11DataField111Serializer; + + @override + Map toJson() => (_i1.serializers.serializeWith( + GField11Data_field111.serializer, + this, + ) as Map); + + static GField11Data_field111? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField11Data_field111.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.g.dart new file mode 100644 index 00000000..3d2490ed --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.data.gql.g.dart @@ -0,0 +1,314 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field11.data.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField11DataSerializer = + new _$GField11DataSerializer(); +Serializer _$gField11DataField111Serializer = + new _$GField11Data_field111Serializer(); + +class _$GField11DataSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField11Data, _$GField11Data]; + @override + final String wireName = 'GField11Data'; + + @override + Iterable serialize(Serializers serializers, GField11Data object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + 'field111', + serializers.serialize(object.field111, + specifiedType: const FullType(GField11Data_field111)), + ]; + + return result; + } + + @override + GField11Data deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GField11DataBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'field111': + result.field111.replace(serializers.deserialize(value, + specifiedType: const FullType(GField11Data_field111))! + as GField11Data_field111); + break; + } + } + + return result.build(); + } +} + +class _$GField11Data_field111Serializer + implements StructuredSerializer { + @override + final Iterable types = const [ + GField11Data_field111, + _$GField11Data_field111 + ]; + @override + final String wireName = 'GField11Data_field111'; + + @override + Iterable serialize( + Serializers serializers, GField11Data_field111 object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + GField11Data_field111 deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GField11Data_field111Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$GField11Data extends GField11Data { + @override + final String G__typename; + @override + final GField11Data_field111 field111; + + factory _$GField11Data([void Function(GField11DataBuilder)? updates]) => + (new GField11DataBuilder()..update(updates))._build(); + + _$GField11Data._({required this.G__typename, required this.field111}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField11Data', 'G__typename'); + BuiltValueNullFieldError.checkNotNull( + field111, r'GField11Data', 'field111'); + } + + @override + GField11Data rebuild(void Function(GField11DataBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField11DataBuilder toBuilder() => new GField11DataBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField11Data && + G__typename == other.G__typename && + field111 == other.field111; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jc(_$hash, field111.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GField11Data') + ..add('G__typename', G__typename) + ..add('field111', field111)) + .toString(); + } +} + +class GField11DataBuilder + implements Builder { + _$GField11Data? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GField11Data_field111Builder? _field111; + GField11Data_field111Builder get field111 => + _$this._field111 ??= new GField11Data_field111Builder(); + set field111(GField11Data_field111Builder? field111) => + _$this._field111 = field111; + + GField11DataBuilder() { + GField11Data._initializeBuilder(this); + } + + GField11DataBuilder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _field111 = $v.field111.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(GField11Data other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField11Data; + } + + @override + void update(void Function(GField11DataBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField11Data build() => _build(); + + _$GField11Data _build() { + _$GField11Data _$result; + try { + _$result = _$v ?? + new _$GField11Data._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField11Data', 'G__typename'), + field111: field111.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'field111'; + field111.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'GField11Data', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$GField11Data_field111 extends GField11Data_field111 { + @override + final String G__typename; + + factory _$GField11Data_field111( + [void Function(GField11Data_field111Builder)? updates]) => + (new GField11Data_field111Builder()..update(updates))._build(); + + _$GField11Data_field111._({required this.G__typename}) : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField11Data_field111', 'G__typename'); + } + + @override + GField11Data_field111 rebuild( + void Function(GField11Data_field111Builder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField11Data_field111Builder toBuilder() => + new GField11Data_field111Builder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField11Data_field111 && G__typename == other.G__typename; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GField11Data_field111') + ..add('G__typename', G__typename)) + .toString(); + } +} + +class GField11Data_field111Builder + implements Builder { + _$GField11Data_field111? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GField11Data_field111Builder() { + GField11Data_field111._initializeBuilder(this); + } + + GField11Data_field111Builder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _$v = null; + } + return this; + } + + @override + void replace(GField11Data_field111 other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField11Data_field111; + } + + @override + void update(void Function(GField11Data_field111Builder)? updates) { + if (updates != null) updates(this); + } + + @override + GField11Data_field111 build() => _build(); + + _$GField11Data_field111 _build() { + final _$result = _$v ?? + new _$GField11Data_field111._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField11Data_field111', 'G__typename')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.dart new file mode 100644 index 00000000..3616f60a --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.dart @@ -0,0 +1,31 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field11.var.gql.g.dart'; + +abstract class GField11Vars + implements Built { + GField11Vars._(); + + factory GField11Vars([void Function(GField11VarsBuilder b) updates]) = + _$GField11Vars; + + static Serializer get serializer => _$gField11VarsSerializer; + + Map toJson() => (_i1.serializers.serializeWith( + GField11Vars.serializer, + this, + ) as Map); + + static GField11Vars? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField11Vars.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.g.dart new file mode 100644 index 00000000..974ea08e --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field11.var.gql.g.dart @@ -0,0 +1,89 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field11.var.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField11VarsSerializer = + new _$GField11VarsSerializer(); + +class _$GField11VarsSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField11Vars, _$GField11Vars]; + @override + final String wireName = 'GField11Vars'; + + @override + Iterable serialize(Serializers serializers, GField11Vars object, + {FullType specifiedType = FullType.unspecified}) { + return []; + } + + @override + GField11Vars deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + return new GField11VarsBuilder().build(); + } +} + +class _$GField11Vars extends GField11Vars { + factory _$GField11Vars([void Function(GField11VarsBuilder)? updates]) => + (new GField11VarsBuilder()..update(updates))._build(); + + _$GField11Vars._() : super._(); + + @override + GField11Vars rebuild(void Function(GField11VarsBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField11VarsBuilder toBuilder() => new GField11VarsBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField11Vars; + } + + @override + int get hashCode { + return 602136233; + } + + @override + String toString() { + return newBuiltValueToStringHelper(r'GField11Vars').toString(); + } +} + +class GField11VarsBuilder + implements Builder { + _$GField11Vars? _$v; + + GField11VarsBuilder(); + + @override + void replace(GField11Vars other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField11Vars; + } + + @override + void update(void Function(GField11VarsBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField11Vars build() => _build(); + + _$GField11Vars _build() { + final _$result = _$v ?? new _$GField11Vars._(); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.ast.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.ast.gql.dart new file mode 100644 index 00000000..b5409b5b --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.ast.gql.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:gql/ast.dart' as _i1; + +const Field2 = _i1.FragmentDefinitionNode( + name: _i1.NameNode(value: 'Field2'), + typeCondition: _i1.TypeConditionNode( + on: _i1.NamedTypeNode( + name: _i1.NameNode(value: 'Field2'), + isNonNull: false, + )), + directives: [], + selectionSet: _i1.SelectionSetNode(selections: [ + _i1.FieldNode( + name: _i1.NameNode(value: '__typename'), + alias: null, + arguments: [], + directives: [], + selectionSet: null, + ) + ]), +); +const document = _i1.DocumentNode(definitions: [Field2]); diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart new file mode 100644 index 00000000..601626d7 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.dart @@ -0,0 +1,43 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field2.data.gql.g.dart'; + +abstract class GField2 { + String get G__typename; + Map toJson(); +} + +abstract class GField2Data + implements Built, GField2 { + GField2Data._(); + + factory GField2Data([void Function(GField2DataBuilder b) updates]) = + _$GField2Data; + + static void _initializeBuilder(GField2DataBuilder b) => + b..G__typename = 'Field2'; + + @override + @BuiltValueField(wireName: '__typename') + String get G__typename; + static Serializer get serializer => _$gField2DataSerializer; + + @override + Map toJson() => (_i1.serializers.serializeWith( + GField2Data.serializer, + this, + ) as Map); + + static GField2Data? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField2Data.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.g.dart new file mode 100644 index 00000000..af1c13bd --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.data.gql.g.dart @@ -0,0 +1,136 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field2.data.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField2DataSerializer = new _$GField2DataSerializer(); + +class _$GField2DataSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField2Data, _$GField2Data]; + @override + final String wireName = 'GField2Data'; + + @override + Iterable serialize(Serializers serializers, GField2Data object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + '__typename', + serializers.serialize(object.G__typename, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + GField2Data deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GField2DataBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case '__typename': + result.G__typename = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$GField2Data extends GField2Data { + @override + final String G__typename; + + factory _$GField2Data([void Function(GField2DataBuilder)? updates]) => + (new GField2DataBuilder()..update(updates))._build(); + + _$GField2Data._({required this.G__typename}) : super._() { + BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField2Data', 'G__typename'); + } + + @override + GField2Data rebuild(void Function(GField2DataBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField2DataBuilder toBuilder() => new GField2DataBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField2Data && G__typename == other.G__typename; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, G__typename.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'GField2Data') + ..add('G__typename', G__typename)) + .toString(); + } +} + +class GField2DataBuilder implements Builder { + _$GField2Data? _$v; + + String? _G__typename; + String? get G__typename => _$this._G__typename; + set G__typename(String? G__typename) => _$this._G__typename = G__typename; + + GField2DataBuilder() { + GField2Data._initializeBuilder(this); + } + + GField2DataBuilder get _$this { + final $v = _$v; + if ($v != null) { + _G__typename = $v.G__typename; + _$v = null; + } + return this; + } + + @override + void replace(GField2Data other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField2Data; + } + + @override + void update(void Function(GField2DataBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField2Data build() => _build(); + + _$GField2Data _build() { + final _$result = _$v ?? + new _$GField2Data._( + G__typename: BuiltValueNullFieldError.checkNotNull( + G__typename, r'GField2Data', 'G__typename')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.dart new file mode 100644 index 00000000..7c218099 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.dart @@ -0,0 +1,30 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:end_to_end_test/graphql/__generated__/serializers.gql.dart' + as _i1; + +part 'field2.var.gql.g.dart'; + +abstract class GField2Vars implements Built { + GField2Vars._(); + + factory GField2Vars([void Function(GField2VarsBuilder b) updates]) = + _$GField2Vars; + + static Serializer get serializer => _$gField2VarsSerializer; + + Map toJson() => (_i1.serializers.serializeWith( + GField2Vars.serializer, + this, + ) as Map); + + static GField2Vars? fromJson(Map json) => + _i1.serializers.deserializeWith( + GField2Vars.serializer, + json, + ); +} diff --git a/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.g.dart b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.g.dart new file mode 100644 index 00000000..4d543a52 --- /dev/null +++ b/codegen/end_to_end_test/lib/issue_with_implementing_not_existing_classes/__generated__/field2.var.gql.g.dart @@ -0,0 +1,86 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'field2.var.gql.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$gField2VarsSerializer = new _$GField2VarsSerializer(); + +class _$GField2VarsSerializer implements StructuredSerializer { + @override + final Iterable types = const [GField2Vars, _$GField2Vars]; + @override + final String wireName = 'GField2Vars'; + + @override + Iterable serialize(Serializers serializers, GField2Vars object, + {FullType specifiedType = FullType.unspecified}) { + return []; + } + + @override + GField2Vars deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + return new GField2VarsBuilder().build(); + } +} + +class _$GField2Vars extends GField2Vars { + factory _$GField2Vars([void Function(GField2VarsBuilder)? updates]) => + (new GField2VarsBuilder()..update(updates))._build(); + + _$GField2Vars._() : super._(); + + @override + GField2Vars rebuild(void Function(GField2VarsBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GField2VarsBuilder toBuilder() => new GField2VarsBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GField2Vars; + } + + @override + int get hashCode { + return 845131540; + } + + @override + String toString() { + return newBuiltValueToStringHelper(r'GField2Vars').toString(); + } +} + +class GField2VarsBuilder implements Builder { + _$GField2Vars? _$v; + + GField2VarsBuilder(); + + @override + void replace(GField2Vars other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$GField2Vars; + } + + @override + void update(void Function(GField2VarsBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + GField2Vars build() => _build(); + + _$GField2Vars _build() { + final _$result = _$v ?? new _$GField2Vars._(); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint