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

Commit 988a8d2

Browse files
authored
Merge pull request #13 from k163377/feature
Fixed duplication of counting process.
2 parents 5fbd112 + df8709c commit 988a8d2

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

src/main/kotlin/com/mapk/core/ArgumentBucket.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,14 @@ class ArgumentBucket internal constructor(
99
private val isRequireNonNull: List<Boolean>,
1010
private val initializationStatusManager: InitializationStatusManager
1111
) : Map<KParameter, Any?> {
12-
// インスタンス有りなら1、そうでなければ0スタート
13-
private var count: Int = initializationStatusManager.count
14-
1512
val isInitialized: Boolean get() = initializationStatusManager.isFullInitialized
1613

1714
class Entry internal constructor(
1815
override val key: KParameter,
1916
override var value: Any?
2017
) : Map.Entry<KParameter, Any?>
2118

22-
override val size: Int get() = count
19+
override val size: Int get() = initializationStatusManager.count
2320

2421
override fun containsKey(key: KParameter): Boolean {
2522
return initializationStatusManager.isInitialized(key.index)
@@ -32,7 +29,7 @@ class ArgumentBucket internal constructor(
3229
if (initializationStatusManager.isInitialized(key)) valueArray[key]
3330
else throw IllegalStateException("This argument is not initialized.")
3431

35-
override fun isEmpty(): Boolean = count == 0
32+
override fun isEmpty(): Boolean = initializationStatusManager.count == 0
3633

3734
override val entries: Set<Map.Entry<KParameter, Any?>>
3835
get() = keyList
@@ -53,7 +50,6 @@ class ArgumentBucket internal constructor(
5350
// 先に入ったものを優先するため、初期化済みなら何もしない
5451
if (initializationStatusManager.isInitialized(index)) return
5552

56-
count += 1
5753
initializationStatusManager.put(index)
5854
valueArray[index] = value
5955

0 commit comments

Comments
 (0)