JS: support callable references with vararg and default parameters conversion
This commit is contained in:
@@ -63,6 +63,8 @@ external fun oneMoreParamCount(before: IntArray, vararg middle: Int, after: IntA
|
||||
@JsName("paramCount")
|
||||
external fun <T> oneMoreGenericParamCount(before: Array<T>, vararg middle: T, after: Array<T>): Int
|
||||
|
||||
fun runCallable(fn: (Int, Int, Int, Int, Int) -> Int, a1: Int, a2: Int, a3: Int, a4: Int, a5: Int): Int = fn(a1, a2, a3, a4, a5)
|
||||
|
||||
fun box(): String {
|
||||
if (paramCount() != 0)
|
||||
return "failed when call native function without args"
|
||||
@@ -147,5 +149,11 @@ fun box(): String {
|
||||
|
||||
assertEquals(6, oneMoreParamCount(intArrayOf(1, 2), 3, *intArrayOf(4, 5), 6, after = intArrayOf(7, 8)))
|
||||
assertEquals(6, oneMoreGenericParamCount(arrayOf("1", "2"), "3", *arrayOf("4", "5"), "6", after = arrayOf("7", "8")))
|
||||
|
||||
assertEquals(5, runCallable(::paramCount, 1, 2, 3, 4, 5))
|
||||
assertEquals(5, runCallable(::anotherParamCount, 1, 2, 3, 4, 5))
|
||||
assertEquals(5, runCallable(::anotherCount, 1, 2, 3, 4, 5))
|
||||
assertEquals(11111, runCallable(::sumOfParameters, 1, 10, 100, 1000, 10000))
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user