Compile unsigned types sourceset with 1.3 and annotate them with SinceKotlin("1.3")

This commit is contained in:
Ilya Gorbunov
2018-06-29 16:08:50 +03:00
parent a72ad8b267
commit 615f57f2fc
15 changed files with 59 additions and 2 deletions
@@ -8,6 +8,7 @@
package kotlin
@Suppress("NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS")
@SinceKotlin("1.3")
public inline class UByteArray internal constructor(private val storage: ByteArray) : Collection<UByte> {
/** Returns the array element at the given [index]. This method can be called using the index operator. */
@@ -37,11 +38,13 @@ public inline class UByteArray internal constructor(private val storage: ByteArr
override fun isEmpty(): Boolean = this.storage.size == 0
}
@SinceKotlin("1.3")
public /*inline*/ fun UByteArray(size: Int, init: (Int) -> UByte): UByteArray {
return UByteArray(ByteArray(size) { index -> init(index).toByte() })
}
@Suppress("FORBIDDEN_VARARG_PARAMETER_TYPE")
@SinceKotlin("1.3")
public fun ubyteArrayOf(vararg elements: UByte): UByteArray {
return UByteArray(elements.size) { index -> elements[index] }
}