Refactored tests using Array constructor:
Some moved to tests with stdlib Some changed to use arrayOfNulls
This commit is contained in:
committed by
Alexander Udalov
parent
abbcf61183
commit
654411a0b0
@@ -5,7 +5,7 @@ fun t1 () {
|
||||
}
|
||||
|
||||
fun t2 () {
|
||||
val a2 = Array<Int>(1,{0})
|
||||
val a2 = arrayOfNulls<Int>(1) as Array<Int>
|
||||
a2[0] = 0 //ok
|
||||
var i = a2[0] //ok
|
||||
}
|
||||
|
||||
@@ -67,10 +67,10 @@ fun box(): String {
|
||||
if (foo(boolA) != 1) return "fail boolean[]"
|
||||
val cA = CharArray(1)
|
||||
if (foo(cA) != 1) return "fail char[]"
|
||||
val oA = Array<Any>(1) { 1 }
|
||||
val oA = arrayOfNulls<Int>(1)
|
||||
if (foo(oA) != 1) return "fail Any[]"
|
||||
|
||||
val sArray = Array<String>(0) { "" }
|
||||
val sArray = arrayOfNulls<String>(0)
|
||||
if (foo(sArray) != 0) return "fail String[]"
|
||||
|
||||
return "OK"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
val <T> Array<T>.length : Int get() = this.size()
|
||||
|
||||
fun box() = if(Array(10, {1}).length == 10) "OK" else "fail"
|
||||
fun box() = if(arrayOfNulls<Int>(10).length == 10) "OK" else "fail"
|
||||
|
||||
@@ -90,7 +90,7 @@ fun for_object_list(): Int {
|
||||
}
|
||||
|
||||
fun for_str_array(): Int {
|
||||
val a = Array<String>(10) {i -> "$i"}
|
||||
val a = arrayOfNulls<String>(10)
|
||||
var c = 0
|
||||
for (i in a) {
|
||||
if (c >= 5) continue
|
||||
|
||||
@@ -90,7 +90,7 @@ fun for_object_list(): Int {
|
||||
}
|
||||
|
||||
fun for_str_array(): Int {
|
||||
val a = Array<String>(10) {i -> "$i"}
|
||||
val a = arrayOfNulls<String>(10)
|
||||
var c = 0
|
||||
@loop for (i in a) {
|
||||
if (c >= 5) continue @loop
|
||||
|
||||
@@ -7,4 +7,8 @@ fun f(x: Any?): String {
|
||||
return "FAIL"
|
||||
}
|
||||
|
||||
fun box(): String = f(Array<String>(1, {"OK"}))
|
||||
fun box(): String {
|
||||
val a = arrayOfNulls<String>(1) as Array<String>
|
||||
a[0] = "OK"
|
||||
return f(a)
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
fun box() : String {
|
||||
val a = Array<Int> (5, {0})
|
||||
val a = arrayOfNulls<Int>(5)
|
||||
var i = 0
|
||||
var sum = 0
|
||||
for(el in 0..4) {
|
||||
a[i] = i++
|
||||
}
|
||||
for (el in a) {
|
||||
for (el in (a as Array<Int>)) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 10) return "a failed"
|
||||
|
||||
@@ -44,7 +44,7 @@ fun box() : String {
|
||||
}
|
||||
if(sum != 15) return "c4 failed"
|
||||
|
||||
val a : Array<Int> = Array<Int> (5, {0})
|
||||
val a : Array<Int> = arrayOfNulls<Int>(5) as Array<Int>
|
||||
for(el in 0..4) {
|
||||
a[i] = i++
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ fun main(args: Array<String>?) {
|
||||
//do not compile
|
||||
System.out?.println(fff<Unit>(Unit)) //do not compile
|
||||
System.out?.println(id<Unit>(y)) //do not compile
|
||||
System.out?.println(fff<Unit>(id<Unit>(y)) == id<Unit>(foreach(Array<Int>(0,{0}),{(e : Int) : Unit -> }))) //do not compile
|
||||
System.out?.println(fff<Unit>(id<Unit>(y)) == id<Unit>(foreach(arrayOfNulls<Int>(0) as Array<Int>,{(e : Int) : Unit -> }))) //do not compile
|
||||
}
|
||||
class A<T>()
|
||||
|
||||
@@ -30,7 +30,7 @@ fun almostFilter(array: Array<Int>, action: (Int)-> Int) {
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
val a = Array<Int> (3,{-1})
|
||||
val a = arrayOfNulls<Int>(3) as Array<Int>
|
||||
a[0] = 0
|
||||
a[1] = 1
|
||||
a[2] = 2
|
||||
|
||||
@@ -7,6 +7,6 @@ object Obj {
|
||||
fun box() : String {
|
||||
val klass = Class.forName("Obj\$Inner")!!
|
||||
val cons = klass.getConstructors()!![0]
|
||||
val inner = cons.newInstance(* Array(0){""})
|
||||
val inner = cons.newInstance(*(arrayOfNulls<String>(0) as Array<String>))
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ fun checkLess(x: Array<Int>, y: Array<Int>) = when {
|
||||
fun Array<Int>.compareTo(other: Array<Int>) = size() - other.size()
|
||||
|
||||
fun box(): String {
|
||||
val a = Array<Int>(0, {0})
|
||||
val b = Array<Int>(1, {0})
|
||||
val a = arrayOfNulls<Int>(0) as Array<Int>
|
||||
val b = arrayOfNulls<Int>(1) as Array<Int>
|
||||
return checkLess(a, b)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ fun box(): String {
|
||||
val collection = MyCollection(Arrays.asList(2, 3, 9)) as java.util.Collection<*>
|
||||
|
||||
val array1 = collection.toArray()
|
||||
val array2 = collection.toArray(Array<Int>(3, { 0 }))
|
||||
val array2 = collection.toArray(arrayOfNulls<Int>(3) as Array<Int>)
|
||||
|
||||
if (array1 !is Array<Any>) return (array1 as Object).getClass().toString()
|
||||
if (array2 !is Array<Int>) return (array2 as Object).getClass().toString()
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
import java.util.Arrays
|
||||
|
||||
class MyCollection<T>(val delegate: Collection<T>): Collection<T> by delegate {
|
||||
public fun toArray(): Array<Any?> = Array<Any?>(3, { it })
|
||||
public fun toArray(): Array<Any?> {
|
||||
val a = arrayOfNulls<Any?>(3)
|
||||
a[0] = 0
|
||||
a[1] = 1
|
||||
a[2] = 2
|
||||
return a
|
||||
}
|
||||
public fun <E> toArray(array: Array<E>): Array<E> {
|
||||
val asIntArray = array as Array<Int>
|
||||
asIntArray[0] = 0
|
||||
@@ -15,7 +21,7 @@ fun box(): String {
|
||||
val collection = MyCollection(Arrays.asList(2, 3, 9)) as java.util.Collection<*>
|
||||
|
||||
val array1 = collection.toArray()
|
||||
val array2 = collection.toArray(Array<Int>(3, { 0 }))
|
||||
val array2 = collection.toArray(arrayOfNulls<Int>(3) as Array<Int>)
|
||||
|
||||
if (array1 !is Array<Any>) return (array1 as Object).getClass().toString()
|
||||
if (array2 !is Array<Int>) return (array2 as Object).getClass().toString()
|
||||
|
||||
@@ -10,7 +10,7 @@ fun foo() {
|
||||
val a = A()
|
||||
a.x = 3
|
||||
|
||||
val b = Array<Int?>(4, { null })
|
||||
val b = arrayOfNulls<Int>(4)
|
||||
b[100] = 5
|
||||
|
||||
val x = 6 : Int?
|
||||
@@ -24,5 +24,5 @@ fun foo() {
|
||||
val c2: Any = if (1 != 1) 0 else "abc"
|
||||
}
|
||||
|
||||
// 10 java/lang/Integer.valueOf
|
||||
// 1 intValue
|
||||
// 9 java/lang/Integer.valueOf
|
||||
// 0 intValue
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
class Foo(vararg val a: String = Array<String>(1) {"default"})
|
||||
class Foo(vararg val a: String = arrayOfNulls<String>(1) as Array<String>)
|
||||
|
||||
// CLASS: Foo
|
||||
// HAS_DEFAULT_CONSTRUCTOR: true
|
||||
|
||||
Reference in New Issue
Block a user