33 lines
646 B
Kotlin
Vendored
33 lines
646 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// WITH_RUNTIME
|
|
|
|
// MODULE: lib
|
|
// FILE: Value.kt
|
|
package vv
|
|
|
|
sealed class Value<T>(@JvmField val value: T) {
|
|
class StringValue(value: String) : Value<String>(value)
|
|
class BooleanValue(value: Boolean): Value<Boolean>(value)
|
|
}
|
|
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: kt47739.kt
|
|
import kotlin.test.*
|
|
import vv.*
|
|
|
|
fun test(v: Value<*>) {
|
|
when (v) {
|
|
is Value.StringValue ->
|
|
assertEquals("a string", v.value)
|
|
is Value.BooleanValue ->
|
|
assertEquals(true, v.value)
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
test(Value.StringValue("a string"))
|
|
test(Value.BooleanValue(true))
|
|
return "OK"
|
|
}
|