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

Commit c7b7ea2

Browse files
committed
ABSENT_VALUEで書き直し
1 parent 6ba6702 commit c7b7ea2

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/main/kotlin/com/mapk/fastkfunction/argumentbucket/BucketGenerator.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,28 @@ import kotlin.reflect.KParameter
77
internal val ABSENT_VALUE = Any()
88

99
internal class BucketGenerator(private val parameters: List<KParameter>, instance: Any?) {
10-
private val originalValueArray: Array<Any?> = Array(parameters.size) { null }
11-
private val originalInitializationStatuses: BooleanArray = BooleanArray(parameters.size)
10+
private val originalValueArray: Array<Any?> = Array(parameters.size) { ABSENT_VALUE }
11+
private val originalCount: Int
1212
private val valueArrayGetter: (Array<Any?>) -> Array<Any?>
1313

1414
init {
1515
if (parameters[0].kind != KParameter.Kind.VALUE) {
16-
originalInitializationStatuses[0] = true
16+
originalCount = 1
1717
originalValueArray[0] = instance
1818
valueArrayGetter = { it.copyOfRange(1, parameters.size) }
1919
} else {
20+
originalCount = 0
2021
valueArrayGetter = { it }
2122
}
2223
}
2324

2425
@TestOnly
2526
fun getOriginalValueArray() = originalValueArray.clone()
2627
@TestOnly
27-
fun getOriginalInitializationStatuses() = originalInitializationStatuses.clone()
28+
fun getOriginalCount() = originalCount
2829
@TestOnly
2930
fun getValueArrayGetter() = valueArrayGetter
3031

3132
fun generateBucket(): ArgumentBucket =
32-
ArgumentBucket(parameters, originalValueArray.clone(), originalInitializationStatuses.clone(), valueArrayGetter)
33+
ArgumentBucket(parameters, originalValueArray.clone(), originalCount, valueArrayGetter)
3334
}

0 commit comments

Comments
 (0)