Fix array accessor signatures, add array test to fix.
This commit is contained in:
@@ -206,6 +206,13 @@ task array0(type: RunKonanTest) {
|
||||
source = "runtime/basic/array0.kt"
|
||||
}
|
||||
|
||||
/*
|
||||
task array1(type: RunKonanTest) {
|
||||
goldValue = "42\n1-1\n69\n83\n"
|
||||
source = "runtime/basic/array1.kt"
|
||||
}*/
|
||||
|
||||
|
||||
task if_else(type: UnitKonanTest) {
|
||||
source = "codegen/branching/if_else.kt"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
fun main(args : Array<String>) {
|
||||
val byteArray = ByteArray(5)
|
||||
byteArray[1] = 2
|
||||
byteArray[3] = 4
|
||||
println(byteArray[3].toString() + " " + byteArray[1].toString())
|
||||
|
||||
val shortArray = ShortArray(2)
|
||||
shortArray[0] = -1
|
||||
shortArray[1] = 1
|
||||
print(shortArray[1].toString())
|
||||
print(shortArray[0].toString())
|
||||
println()
|
||||
|
||||
val intArray = IntArray(7)
|
||||
intArray[1] = 9
|
||||
intArray[3] = 6
|
||||
print(intArray[3].toString())
|
||||
print(intArray[1].toString())
|
||||
println()
|
||||
|
||||
val longArray = LongArray(9)
|
||||
longArray[8] = 8
|
||||
longArray[3] = 3
|
||||
print(longArray[3].toString())
|
||||
print(longArray[8].toString())
|
||||
println()
|
||||
}
|
||||
@@ -90,6 +90,8 @@ KString Kotlin_String_fromUtf8Array(const ArrayHeader* array) {
|
||||
|
||||
KString Kotlin_String_plusImpl(KString thiz, KString other) {
|
||||
// TODO: support UTF-8
|
||||
RuntimeAssert(thiz != nullptr, "this cannot be null");
|
||||
RuntimeAssert(other != nullptr, "other cannot be null");
|
||||
RuntimeAssert(thiz->type_info() == theStringTypeInfo, "Must be a string");
|
||||
RuntimeAssert(other->type_info() == theStringTypeInfo, "Must be a string");
|
||||
uint32_t result_length = thiz->count_ + other->count_;
|
||||
|
||||
@@ -72,7 +72,7 @@ class IntArray : Cloneable {
|
||||
get() = getArrayLength()
|
||||
|
||||
@SymbolName("Kotlin_IntArray_get")
|
||||
external public operator fun get(index: Int): Char
|
||||
external public operator fun get(index: Int): Int
|
||||
|
||||
@SymbolName("Kotlin_IntArray_set")
|
||||
external public operator fun set(index: Int, value: Int): Unit
|
||||
@@ -93,7 +93,7 @@ class LongArray : Cloneable {
|
||||
get() = getArrayLength()
|
||||
|
||||
@SymbolName("Kotlin_LongArray_get")
|
||||
external public operator fun get(index: Int): Char
|
||||
external public operator fun get(index: Int): Long
|
||||
|
||||
@SymbolName("Kotlin_LongArray_set")
|
||||
external public operator fun set(index: Int, value: Long): Unit
|
||||
@@ -114,7 +114,7 @@ class FloatArray : Cloneable {
|
||||
get() = getArrayLength()
|
||||
|
||||
@SymbolName("Kotlin_FloatArray_get")
|
||||
external public operator fun get(index: Int): Char
|
||||
external public operator fun get(index: Int): Float
|
||||
|
||||
@SymbolName("Kotlin_FloatArray_set")
|
||||
external public operator fun set(index: Int, value: Float): Unit
|
||||
@@ -135,7 +135,7 @@ class DoubleArray : Cloneable {
|
||||
get() = getArrayLength()
|
||||
|
||||
@SymbolName("Kotlin_DoubleArray_get")
|
||||
external public operator fun get(index: Int): Char
|
||||
external public operator fun get(index: Int): Double
|
||||
|
||||
@SymbolName("Kotlin_DoubleArray_set")
|
||||
external public operator fun set(index: Int, value: Double): Unit
|
||||
@@ -156,7 +156,7 @@ class BooleanArray : Cloneable {
|
||||
get() = getArrayLength()
|
||||
|
||||
@SymbolName("Kotlin_BooleanArray_get")
|
||||
external public operator fun get(index: Int): Char
|
||||
external public operator fun get(index: Int): Boolean
|
||||
|
||||
@SymbolName("Kotlin_BooleanArray_set")
|
||||
external public operator fun set(index: Int, value: Boolean): Unit
|
||||
|
||||
Reference in New Issue
Block a user