Check for index-out-of-bound in elementAt function (KT-30051)
This commit is contained in:
@@ -14,6 +14,87 @@ import kotlin.js.*
|
||||
import primitiveArrayConcat
|
||||
import withType
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun <T> Array<out T>.elementAt(index: Int): T {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun ByteArray.elementAt(index: Int): Byte {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun ShortArray.elementAt(index: Int): Short {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun IntArray.elementAt(index: Int): Int {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun LongArray.elementAt(index: Int): Long {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun FloatArray.elementAt(index: Int): Float {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun DoubleArray.elementAt(index: Int): Double {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun BooleanArray.elementAt(index: Int): Boolean {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an element at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this array.
|
||||
*
|
||||
* @sample samples.collections.Collections.Elements.elementAt
|
||||
*/
|
||||
public actual fun CharArray.elementAt(index: Int): Char {
|
||||
return elementAtOrElse(index) { throw IndexOutOfBoundsException("index: $index, size: $size}") }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a [List] that wraps the original array.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user