Make Array.size() a function instead of a property

Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
This commit is contained in:
Alexander Udalov
2014-11-14 18:02:04 +03:00
parent bc238d5f4c
commit 128c938965
67 changed files with 677 additions and 625 deletions
@@ -1,6 +1,6 @@
import kotlin.test.assertEquals
fun <T> foo(vararg a: T) = a.size
fun <T> foo(vararg a: T) = a.size()
inline fun <reified T> bar(a: Array<T>, block: () -> T): Array<T> {
assertEquals(4, foo(*a, block(), block()))
@@ -1,6 +1,6 @@
import kotlin.test.assertEquals
fun <T> foo(vararg a: T) = a.size
fun <T> foo(vararg a: T) = a.size()
inline fun <reified T> bar(block: () -> T): Array<T> {
assertEquals(2, foo(block(), block()))
@@ -20,7 +20,7 @@ fun box(): String {
assertEquals("234", b.map { it.toString() }.join(""))
val c: Array<String> = empty()
assertEquals(0, c.size)
assertEquals(0, c.size())
return "OK"
}