This repository was archived by the owner on Jan 20, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +9
-9
lines changed
src/main/kotlin/com/wrongwrong/mapk/core Expand file tree Collapse file tree 2 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -6,16 +6,16 @@ import kotlin.reflect.jvm.isAccessible
66
77class 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
Original file line number Diff line number Diff 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) {
You can’t perform that action at this time.
0 commit comments