branches

fun branches(parentType: KType, subclass: KClass<*>): KType(source)

Gitt følgende kode

sealed interface Optional<A>
data class Some<X>(val x: X): Optional<X>
data class None<X>: Optional<X>

og Optional<String>, så blir det to kall til branches :

  1. branches( Optional<String>, Some )

  2. branches( Optional<String>, None )

de vil returnere henholdsvis:

  1. Some<String>

  2. None<String>

Unifieren som bygges opp underveis er i begge tilfeller:

mapOf( X to String )