Skip to content

Commit 36cb4ad

Browse files
authored
Data builders: fix nullable fields of composite type (#6855)
* Add a nullable field * Data builders: fix nullable composite objects * Update test fixtures
1 parent cc8a525 commit 36cb4ad

File tree

29 files changed

+75
-37
lines changed

29 files changed

+75
-37
lines changed

libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/codegen/kotlin/KotlinResolver.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ internal class KotlinResolver(
134134
return when (type) {
135135
is IrNonNullType2 -> resolveIrType2(type.ofType).copy(nullable = false)
136136
is IrListType2 -> KotlinSymbols.List.parameterizedBy(resolveIrType2(type.ofType)).copy(nullable = true)
137-
is IrCompositeType2 -> mapTypes.get(type.name) ?: error("Cannot find map type for ${type.name}")
137+
is IrCompositeType2 -> mapTypes.get(type.name)?.copy(nullable = true) ?: error("Cannot find map type for ${type.name}")
138138
is IrEnumType2 -> resolveIrType(IrEnumType(type.name, nullable = true), false).copy(nullable = true)
139139
is IrScalarType2 -> resolveIrType(IrScalarType(type.name, nullable = true), false).copy(nullable = true)
140140
}

libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/codegen/kotlin/builders/DataBuilderBuilder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ internal class DataBuilderBuilder(
9393
* If this is a concrete type, initialize typename directly. If not, the user must provide it
9494
*/
9595
addInitializerBlock(buildCodeBlock {
96-
add("__typename = %S", dataBuilder.name)
96+
add("__typename = %S\n", dataBuilder.name)
9797
})
9898
}
9999
}

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/operationBased/data_builders/builder/CatBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/operationBased/data_builders/builder/DogBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/operationBased/data_builders/builder/DroidBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/operationBased/data_builders/builder/HumanBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/operationBased/data_builders/builder/QueryBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/responseBased/data_builders/builder/CatBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/responseBased/data_builders/builder/DogBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/apollo-compiler/src/test/graphql/com/example/data_builders/kotlin/responseBased/data_builders/builder/DroidBuilder.kt.expected

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)