karelpeeters
12/07/2017, 9:41 PMkarelpeeters
12/07/2017, 9:41 PMinline fun <reified T: Any?> String.get(columnIndex: Int): T {
TODO()
}
inline fun <reified T: Any> String.get(columnIndex: Int): T {
TODO()
}
also doesn't compile.jtravis
12/07/2017, 9:42 PMjtravis
12/07/2017, 9:43 PMRuckus
12/07/2017, 9:52 PMMap
and overload the get operator for nullable returns and define a getValue
function that throws if the value isn't present.Ruckus
12/07/2017, 9:53 PMuser
12/07/2017, 10:34 PMnull
)
i would suggest you check the generated bytecodeThiago
12/07/2017, 11:13 PMraulraja
12/07/2017, 11:13 PMraulraja
12/07/2017, 11:15 PMT?
or T
jtravis
12/07/2017, 11:17 PMraulraja
12/07/2017, 11:18 PMjtravis
12/07/2017, 11:22 PMraulraja
12/07/2017, 11:23 PMjtravis
12/07/2017, 11:23 PM@Test
fun foo() {
val x: String = "foo".zzz()
val y: String? = "foo".zzz()
println(x)
println(y)
}
inline fun <reified T> String.zzz(): T {
return "hello" as T
}
inline fun <reified T> String.zzz(dummy: Int = 3): T? {
return null
}
jtravis
12/07/2017, 11:23 PMraulraja
12/07/2017, 11:25 PMT
to T?
raulraja
12/07/2017, 11:26 PMval a: String? = "whatever"
raulraja
12/07/2017, 11:26 PMKarolo
12/08/2017, 1:02 AMuser
12/08/2017, 1:04 AMuser
12/08/2017, 3:03 AMuser
12/08/2017, 3:16 AMuser
12/08/2017, 3:17 AMuser
12/08/2017, 3:29 AMuser
12/08/2017, 8:41 AMuser
12/08/2017, 8:48 AMTobias Preuss
12/08/2017, 9:33 AMrrader
12/08/2017, 10:25 AMmichaelzinn
12/08/2017, 10:53 AMx?.y?.z
becomes let(x, X::getY, Y::getZ)