提交 ffbce7fe 编写于 作者: A Alex Tkachman

KT-1589: Array<T>(size) renamed to arrayOfNulls

上级 a1582e19
......@@ -132,7 +132,7 @@ public class IntrinsicMethods {
declareOverload(myStdLib.getLibraryScope().getFunctions("equals"), 1, EQUALS);
declareOverload(myStdLib.getLibraryScope().getFunctions("identityEquals"), 1, IDENTITY_EQUALS);
declareOverload(myStdLib.getLibraryScope().getFunctions("plus"), 1, STRING_PLUS);
declareOverload(myStdLib.getLibraryScope().getFunctions("Array"), 1, new NewArray());
declareOverload(myStdLib.getLibraryScope().getFunctions("arrayOfNulls"), 1, new NewArray());
declareOverload(myStdLib.getLibraryScope().getFunctions("sure"), 0, new Sure());
declareOverload(myStdLib.getLibraryScope().getFunctions("synchronized"), 2, new StupidSync());
declareOverload(myStdLib.getLibraryScope().getFunctions("iterator"), 0, new IteratorIterator());
......
package jet
public fun Array<T>(public val size : Int) : Array<T?>
public fun arrayOfNulls<T>(public val size : Int) : Array<T?>
public class Array<T>(public val size : Int, init : (Int) -> T) {
public fun get(index : Int) : T
......
fun box() : String {
val a = Array<String?>(3)
val a = arrayOfNulls<String>(3)
a[0] = "a"
a[1] = "b"
a[2] = "c"
......
fun box() : String {
val b : Array<Int?> = Array<Int?> (5)
val b : Array<Int?> = arrayOfNulls<Int> (5)
var i = 0
var sum = 0
while(i < 5) {
......
......@@ -54,7 +54,7 @@ fun box() : String {
}
if(sum != 10) return "a failed"
val b : Array<Int?> = Array<Int?> (5)
val b : Array<Int?> = arrayOfNulls<Int> (5)
i = 0
while(i < 5) {
b[i] = i++
......
......@@ -5,7 +5,7 @@ public class StockMarketTableModel() {
}
class object {
private val COLUMN_TITLES : Array<Int?> = Array<Int?>(10)
private val COLUMN_TITLES : Array<Int?> = arrayOfNulls<Int>(10)
}
}
......
fun t1 () {
val a1 = Array<String?>(1)
val a1 = arrayOfNulls<String>(1)
a1[0] = "0" //ok
val s = a1[0] //ok
}
......@@ -11,7 +11,7 @@ fun t2 () {
}
fun t3 () {
val a3 = Array<Int?>(1)
val a3 = arrayOfNulls<Int>(1)
a3[0] = 0 //verify error
var j = a3[0] //ok
var k : Int = a3[0] ?: 5 //ok
......
......@@ -23,6 +23,6 @@ open class AllEvenNum() {
}
fun box() : String {
AllEvenNum.main(Array<String?>(0))
AllEvenNum.main(arrayOfNulls<String>(0))
return "OK"
}
......@@ -5,8 +5,8 @@ fun box() : String {
array?.set(0, 3)
if(array?.get(0) != 3) return "fail"
var a = Array<Array<String?>?>(5)
var b = Array<String?>(1)
var a = arrayOfNulls<Array<String?>>(5)
var b = arrayOfNulls<String>(1)
b.set(0, "239")
a?.set(0, b)
......
fun box() = if(Array<Int>(10) is Array<java.lang.Integer>) "OK" else "fail"
fun box() = if(arrayOfNulls<Int>(10) is Array<java.lang.Integer>) "OK" else "fail"
......@@ -3,7 +3,7 @@
package kt1293
fun main(args : Array<String>) {
val intArray = Array<Int>(10)
val intArray = arrayOfNulls<Int>(10)
val <!UNUSED_VARIABLE!>i<!> : Int = <!TYPE_MISMATCH!>intArray[0]<!>
requiresInt(<!TYPE_MISMATCH!>intArray[0]<!>)
}
......
......@@ -43,7 +43,7 @@ public class ArrayGenTest extends CodegenTestCase {
}
public void testCreateMultiIntNullable () throws Exception {
loadText("fun foo() = Array<Array<Int?>> (5, { Array<Int?>(it) })");
loadText("fun foo() = Array<Array<Int?>> (5, { arrayOfNulls<Int>(it) })");
Method foo = generateFunction();
Integer[][] invoke = (Integer[][]) foo.invoke(null);
assertEquals(invoke[2].length, 2);
......
......@@ -398,7 +398,7 @@ public class NamespaceGenTest extends CodegenTestCase {
}
public void testArrayNewNullable() throws Exception {
loadText("fun foo() = Array<Int?>(4)");
loadText("fun foo() = arrayOfNulls<Int>(4)");
// System.out.println(generateToText());
final Method main = generateFunction();
Integer[] result = (Integer[]) main.invoke(null);
......
......@@ -127,7 +127,7 @@ public final class Intrinsics {
}
private void declareNullConstructorIntrinsic() {
FunctionDescriptor nullArrayConstructor = library.getLibraryScope().getFunctions("Array").iterator().next();
FunctionDescriptor nullArrayConstructor = library.getLibraryScope().getFunctions("arrayOfNulls").iterator().next();
functionIntrinsics.put(nullArrayConstructor, new CallStandardMethodIntrinsic("Kotlin.nullArray", false, 1));
}
......
package foo
val a1 = Array<Int>(10)
val a1 = arrayOfNulls<Int>(10)
fun box() : Boolean {
var c = 0
......
package foo
val a1 = Array<Int>(0)
val a1 = arrayOfNulls<Int>(0)
fun box() : Boolean {
for (a in a1) {
......
......@@ -2,7 +2,7 @@ package foo
fun box() : Boolean {
val a = Array<Int>(2)
val a = arrayOfNulls<Int>(2)
a.set(1, 2)
return a.get(1) == 2
}
......
package foo
fun box() : Boolean {
val a = Array<Int>(4)
val a = arrayOfNulls<Int>(4)
a[1] = 2
a[2] = 3
return (a[1] == 2) && (a[2] == 3)
......
package foo
val a = Array<Int>(3)
val a = arrayOfNulls<Int>(3)
fun box() = (a[0] == null && a[1] == null && a[2] == null)
\ No newline at end of file
......@@ -2,7 +2,7 @@ package foo
class A() {}
val a1 = Array<Int>(3)
val a2 = Array<A>(2)
val a1 = arrayOfNulls<Int>(3)
val a2 = arrayOfNulls<A>(2)
fun box() = (a1.size == 3 && a2.size == 2)
\ No newline at end of file
......@@ -32,7 +32,7 @@ val Collection<*>.indices : IntRange
get() = 0..size-1
public inline fun <T> java.util.Collection<T>.toArray() : Array<T> {
val answer = Array<T>(this.size)
val answer = arrayOfNulls<T>(this.size)
var idx = 0
for (elem in this)
answer[idx++] = elem
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册