Skip to content

Commit 1d12ad6

Browse files
authored
[compiler] Allow empty deprecationReasons (#6729)
* Allow empty descriptions and/or deprecationReasons * Keep descriptions untouched
1 parent 415255a commit 1d12ad6

File tree

3 files changed

+14
-17
lines changed
  • libraries
    • apollo-ast/src/commonMain/kotlin/com/apollographql/apollo/ast
    • apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/codegen

3 files changed

+14
-17
lines changed

libraries/apollo-ast/src/commonMain/kotlin/com/apollographql/apollo/ast/SDLWriter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ open class SDLWriter(
4747
}
4848

4949
internal fun SDLWriter.writeDescription(description: String?) {
50-
if (!description.isNullOrBlank()) {
50+
if (description != null) {
5151
write("\"\"\"${description.encodeToGraphQLTripleQuoted()}\"\"\"\n")
5252
}
5353
}

libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/codegen/java/helpers/Doc.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package com.apollographql.apollo.compiler.codegen.java.helpers
22

33

4-
import com.apollographql.apollo.compiler.internal.applyIf
5-
import com.apollographql.apollo.compiler.codegen.java.JavaClassNames
64
import com.apollographql.apollo.compiler.codegen.java.L
7-
import com.apollographql.apollo.compiler.codegen.java.S
5+
import com.apollographql.apollo.compiler.internal.applyIf
86
import com.apollographql.apollo.compiler.ir.IrEnum
9-
import com.squareup.javapoet.AnnotationSpec
107
import com.squareup.javapoet.FieldSpec
118
import com.squareup.javapoet.MethodSpec
129
import com.squareup.javapoet.TypeSpec
@@ -28,21 +25,21 @@ internal fun FieldSpec.Builder.maybeAddDescription(description: String?): FieldS
2825
}
2926

3027
internal fun TypeSpec.Builder.maybeAddDeprecation(deprecationReason: String?): TypeSpec.Builder {
31-
if (deprecationReason.isNullOrBlank()) {
28+
if (deprecationReason == null) {
3229
return this
3330
}
3431

3532
return addJavadoc("$L\n", deprecationReason).addAnnotation(deprecatedAnnotation())
3633
}
3734

3835
internal fun FieldSpec.Builder.maybeAddDeprecation(deprecationReason: String?): FieldSpec.Builder {
39-
if (deprecationReason.isNullOrBlank()) {
36+
if (deprecationReason == null) {
4037
return this
4138
}
4239

4340
return addJavadoc("$L\n", deprecationReason).addAnnotation(deprecatedAnnotation())
4441
}
4542

46-
internal fun MethodSpec.Builder.maybeSuppressDeprecation(enumValues: List<IrEnum.Value>): MethodSpec.Builder = applyIf(enumValues.any { !it.deprecationReason.isNullOrBlank() }) {
43+
internal fun MethodSpec.Builder.maybeSuppressDeprecation(enumValues: List<IrEnum.Value>): MethodSpec.Builder = applyIf(enumValues.any { it.deprecationReason != null }) {
4744
addAnnotation(suppressDeprecatedAnnotation())
4845
}

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,39 +47,39 @@ internal fun FunSpec.Builder.maybeAddDescription(description: String?): FunSpec.
4747

4848

4949
internal fun TypeSpec.Builder.maybeAddDeprecation(deprecationReason: String?): TypeSpec.Builder {
50-
if (deprecationReason.isNullOrBlank()) {
50+
if (deprecationReason == null) {
5151
return this
5252
}
5353

5454
return addAnnotation(deprecatedAnnotation(deprecationReason))
5555
}
5656

5757
internal fun PropertySpec.Builder.maybeAddDeprecation(deprecationReason: String?): PropertySpec.Builder {
58-
if (deprecationReason.isNullOrBlank()) {
58+
if (deprecationReason == null) {
5959
return this
6060
}
6161

6262
return addAnnotation(deprecatedAnnotation(deprecationReason))
6363
}
6464

6565
internal fun ParameterSpec.Builder.maybeAddDeprecation(deprecationReason: String?): ParameterSpec.Builder {
66-
if (deprecationReason.isNullOrBlank()) {
66+
if (deprecationReason == null) {
6767
return this
6868
}
6969

7070
return addAnnotation(deprecatedAnnotation(deprecationReason))
7171
}
7272

7373
internal fun FunSpec.Builder.maybeAddDeprecation(deprecationReason: String?): FunSpec.Builder {
74-
if (deprecationReason.isNullOrBlank()) {
74+
if (deprecationReason == null) {
7575
return this
7676
}
7777

7878
return addAnnotation(deprecatedAnnotation(deprecationReason))
7979
}
8080

8181
internal fun TypeSpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver, optInFeature: String?): TypeSpec.Builder {
82-
if (optInFeature.isNullOrBlank()) {
82+
if (optInFeature == null) {
8383
return this
8484
}
8585

@@ -88,7 +88,7 @@ internal fun TypeSpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver, op
8888
}
8989

9090
internal fun PropertySpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver, optInFeature: String?): PropertySpec.Builder {
91-
if (optInFeature.isNullOrBlank()) {
91+
if (optInFeature == null) {
9292
return this
9393
}
9494

@@ -97,7 +97,7 @@ internal fun PropertySpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver
9797
}
9898

9999
internal fun ParameterSpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver, optInFeature: String?): ParameterSpec.Builder {
100-
if (optInFeature.isNullOrBlank()) {
100+
if (optInFeature == null) {
101101
return this
102102
}
103103

@@ -106,7 +106,7 @@ internal fun ParameterSpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolve
106106
}
107107

108108
internal fun FunSpec.Builder.maybeAddRequiresOptIn(resolver: KotlinResolver, optInFeature: String?): FunSpec.Builder {
109-
if (optInFeature.isNullOrBlank()) {
109+
if (optInFeature == null) {
110110
return this
111111
}
112112

@@ -123,7 +123,7 @@ internal fun requiresOptInAnnotation(annotation: ClassName): AnnotationSpec {
123123
internal fun <T: Annotatable.Builder<*>> T.maybeAddOptIn(
124124
resolver: KotlinResolver,
125125
enumValues: List<IrEnum.Value>,
126-
): T = applyIf(enumValues.any { !it.optInFeature.isNullOrBlank() }) {
126+
): T = applyIf(enumValues.any { it.optInFeature != null }) {
127127
val annotation = resolver.resolveRequiresOptInAnnotation() ?: return@applyIf
128128
addAnnotation(requiresOptInAnnotation(annotation))
129129
}

0 commit comments

Comments
 (0)