Stefan
10/24/2022, 2:47 PMjava.util.UUID!
, not java.util.UUID
nor java.util.UUID?
? e.g. in register<UUID?>(Arb.uuid())
Sam
10/24/2022, 2:49 PMPlatform types are non-denotable, meaning that you can't write them down explicitly in the language.
https://kotlinlang.org/docs/java-interop.html#null-safety-and-platform-types
udalov
// FILE: kotlin.kt
private inline fun <reified T> typeOfValue(@Suppress("UNUSED_PARAMETER") x: T): KType =
typeOf<T>()
fun main() {
println(typeOfValue(Java.platformUUIDType())) // "java.util.UUID!"
}
// FILE: Java.java
public class Java {
public static java.util.UUID platformUUIDType() { return null; }
}