aimozg
02/11/2017, 12:03 AMclass ArrayBuilder {
@Suppress("UNCHECKED_CAST")
operator inline fun<reified T> get(vararg items:T):Array<T> = items as Array<T>
}
val array = ArrayBuilder()
fun darkMagic() {
array[1,2,3]
}
aimozg
02/11/2017, 12:06 AM= arrayOf(*items)
to = items
)aimozg
02/11/2017, 12:11 AM:Array<out T> = items
to :Array<T> = items as Array<T>
with @Suppress
)aimozg
02/11/2017, 12:27 AMGETSTATIC array : LArrayBuilder;
:
class ArrayBuilder private constructor() {
}
@Suppress("UNCHECKED_CAST")
operator inline fun<reified T> ArrayBuilder?.get(vararg items:T):Array<T> = items as Array<T>
inline val array:ArrayBuilder? get() = null
fun darkMagic() {
val a: Array<out Int> = array[1,2,3]
val b = arrayOf(1,2,3)
}
aimozg
02/11/2017, 12:50 AMnull[1,2,3]
possibleaimozg
02/11/2017, 12:54 AMinline operator fun<reified T> Array.Companion.get(vararg items:T): Array<T> = items as Array<T>
val a = Array["1", "2", "3"]