mplatvoet
05/21/2016, 7:09 AMfun main(args: Array<String>) {
SomeType() { "" }
SomeType<String>()
SomeType(::String)
}
class SomeType<T: Any>(factory : () -> T) {
val instance = factory()
companion object {
inline operator fun <reified T: Any> invoke() = SomeType() {
T::class.java.newInstance()
}
}
}