<@U0BFDUP0E> I think you can reproduce a TypeToken...
# reflect
k
@jw I think you can reproduce a TypeToken-like solution using reified generic syntax:
Copy code
abstract class TypeToken<T>

inline fun <reified T> bar() {
    val type = object: TypeToken<T>() {}
    println(type::class.java.genericSuperclass)
}

fun main(args: Array<String>) {
    bar<List<String>>()
}
yields
TypeToken<java.util.List<? extends java.lang.String>>