Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 7a3fcf9

Browse files
committed
変数名を使い方に合わせて修正
ついでにオリジナルはlist化して厳密に取り扱うよう修正
1 parent c3b2be5 commit 7a3fcf9

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/main/kotlin/com/wrongwrong/mapk/core/KFunctionForCall.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ import kotlin.reflect.jvm.isAccessible
66

77
class KFunctionForCall<T>(private val function: KFunction<T>, instance: Any? = null) {
88
val parameters: List<KParameter> = function.parameters
9-
private val originalArray: Array<Any?>
10-
val argumentArray: Array<Any?> get() = originalArray.copyOf()
9+
private val originalArgumentBucket: List<Any?>
10+
val argumentBucket: Array<Any?> get() = originalArgumentBucket.toTypedArray()
1111

1212
init {
1313
// この関数には確実にアクセスするためアクセシビリティ書き換え
1414
function.isAccessible = true
15-
originalArray = if (instance != null) {
16-
Array(parameters.size) { if (it == 0) instance else null }
15+
originalArgumentBucket = if (instance != null) {
16+
List(parameters.size) { if (it == 0) instance else null }
1717
} else {
18-
Array(parameters.size) { null }
18+
List(parameters.size) { null }
1919
}
2020
}
2121

src/main/kotlin/com/wrongwrong/mapk/core/KMapper.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,25 +69,25 @@ class KMapper<T : Any> private constructor(
6969
}
7070

7171
fun map(srcMap: Map<String, Any?>): T {
72-
val array: Array<Any?> = function.argumentArray
72+
val array: Array<Any?> = function.argumentBucket
7373
bindParameters(array, srcMap)
7474
return function.call(array)
7575
}
7676

7777
fun map(srcPair: Pair<String, Any?>): T {
78-
val array: Array<Any?> = function.argumentArray
78+
val array: Array<Any?> = function.argumentBucket
7979
bindParameters(array, srcPair)
8080
return function.call(array)
8181
}
8282

8383
fun map(src: Any): T {
84-
val array: Array<Any?> = function.argumentArray
84+
val array: Array<Any?> = function.argumentBucket
8585
bindParameters(array, src)
8686
return function.call(array)
8787
}
8888

8989
fun map(vararg args: Any): T {
90-
val array: Array<Any?> = function.argumentArray
90+
val array: Array<Any?> = function.argumentBucket
9191

9292
listOf(*args).forEach { arg ->
9393
when (arg) {

0 commit comments

Comments
 (0)