iex
sealed class Foo class Foo1: Foo() class Foo2: Foo() inline fun <reified T: Foo> test(par: T) { val bar: Int = when(T::class) { Foo1::class -> 1 Foo2::class -> 2 } }