reactormonk
07/19/2023, 2:33 PMsealed class
I'm checking for with a when
and a lot of branches checking for the specific subtypes via is Type.SubType
- how can I force a completeness check?Vampire
07/19/2023, 2:37 PMdmitriy.novozhilov
07/19/2023, 2:37 PMVampire
07/19/2023, 2:37 PMreactormonk
07/19/2023, 2:47 PMreactormonk
07/19/2023, 2:52 PMwhen (cardMessage) {
is CardMessage.Accept -> onNewDesiredState(DesiredState.AcceptCall)
is CardMessage.Reject -> onNewDesiredState(DesiredState.RejectCall)
}
And the class:
@Parcelize sealed class CardMessage : Parcelable {
@Parcelize sealed class RssSeries(val url: Uri): CardMessage()
@Parcelize object Accept: Command() {
override fun toString(): String {
return "Accept()"
}
}
@Parcelize object Reject: Command() {
override fun toString(): String {
return "Reject()"
}
}
}
christophsturm
07/19/2023, 2:55 PMVampire
07/19/2023, 3:04 PMCommand
maybe?christophsturm
07/19/2023, 3:05 PMVampire
07/19/2023, 3:06 PMreactormonk
07/19/2023, 3:06 PMreactormonk
07/19/2023, 3:07 PMCommand
with RssSeries
christophsturm
07/19/2023, 3:08 PMreactormonk
07/19/2023, 3:08 PMVampire
07/19/2023, 3:09 PM'when' expression must be exhaustive, add necessary 'Maybe' branch or 'else' branch instead