Skip to content

Commit d50a884

Browse files
authored
Make Optional.Absent a data object (#6686)
This produces a better `toString()` for logging purposes.
1 parent 07283b8 commit d50a884

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

libraries/apollo-api/api/apollo-api.api

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,9 @@ public abstract class com/apollographql/apollo/api/Optional {
831831

832832
public final class com/apollographql/apollo/api/Optional$Absent : com/apollographql/apollo/api/Optional {
833833
public static final field INSTANCE Lcom/apollographql/apollo/api/Optional$Absent;
834+
public fun equals (Ljava/lang/Object;)Z
835+
public fun hashCode ()I
836+
public fun toString ()Ljava/lang/String;
834837
}
835838

836839
public final class com/apollographql/apollo/api/Optional$Companion {

libraries/apollo-api/api/apollo-api.klib.api

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1322,7 +1322,11 @@ sealed class <#A: out kotlin/Any?> com.apollographql.apollo.api/Optional { // co
13221322
final fun toString(): kotlin/String // com.apollographql.apollo.api/Optional.Present.toString|toString(){}[0]
13231323
}
13241324

1325-
final object Absent : com.apollographql.apollo.api/Optional<kotlin/Nothing> // com.apollographql.apollo.api/Optional.Absent|null[0]
1325+
final object Absent : com.apollographql.apollo.api/Optional<kotlin/Nothing> { // com.apollographql.apollo.api/Optional.Absent|null[0]
1326+
final fun equals(kotlin/Any?): kotlin/Boolean // com.apollographql.apollo.api/Optional.Absent.equals|equals(kotlin.Any?){}[0]
1327+
final fun hashCode(): kotlin/Int // com.apollographql.apollo.api/Optional.Absent.hashCode|hashCode(){}[0]
1328+
final fun toString(): kotlin/String // com.apollographql.apollo.api/Optional.Absent.toString|toString(){}[0]
1329+
}
13261330

13271331
final object Companion { // com.apollographql.apollo.api/Optional.Companion|null[0]
13281332
final fun <#A2: kotlin/Any> presentIfNotNull(#A2?): com.apollographql.apollo.api/Optional<#A2> // com.apollographql.apollo.api/Optional.Companion.presentIfNotNull|presentIfNotNull(0:0?){0§<kotlin.Any>}[0]

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/Optional.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ sealed class Optional<out V> {
2929
}
3030

3131
data class Present<V>(val value: V) : Optional<V>()
32-
object Absent : Optional<Nothing>()
32+
data object Absent : Optional<Nothing>()
3333

3434
companion object {
3535
@JvmStatic

0 commit comments

Comments
 (0)