Skip to content

Commit e20ec53

Browse files
committed
Introduce collisionRemoveElementAtIndex function that takes nullable MutabilityOwnership
It replaces collisionRemoveElementAtIndex and mutableCollisionRemoveElementAtIndex
1 parent 56653c4 commit e20ec53

File tree

1 file changed

+3
-8
lines changed
  • core/commonMain/src/implementations/immutableSet

1 file changed

+3
-8
lines changed

core/commonMain/src/implementations/immutableSet/TrieNode.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,7 @@ internal class TrieNode<E>(
189189
return setProperties(newBitmap, newBuffer, owner)
190190
}
191191

192-
private fun collisionRemoveElementAtIndex(i: Int): TrieNode<E> {
193-
val newBuffer = buffer.removeCellAtIndex(i)
194-
return setProperties(newBitmap = 0, newBuffer, owner = null)
195-
}
196-
197-
private fun mutableCollisionRemoveElementAtIndex(i: Int, owner: MutabilityOwnership): TrieNode<E> {
192+
private fun collisionRemoveElementAtIndex(i: Int, owner: MutabilityOwnership?): TrieNode<E> {
198193
val newBuffer = buffer.removeCellAtIndex(i)
199194
return setProperties(newBitmap = 0, newBuffer, owner)
200195
}
@@ -219,7 +214,7 @@ internal class TrieNode<E>(
219214
private fun collisionRemove(element: E): TrieNode<E> {
220215
val index = buffer.indexOf(element)
221216
if (index != -1) {
222-
return collisionRemoveElementAtIndex(index)
217+
return collisionRemoveElementAtIndex(index, owner = null)
223218
}
224219
return this
225220
}
@@ -228,7 +223,7 @@ internal class TrieNode<E>(
228223
val index = buffer.indexOf(element)
229224
if (index != -1) {
230225
mutator.size--
231-
return mutableCollisionRemoveElementAtIndex(index, mutator.ownership)
226+
return collisionRemoveElementAtIndex(index, mutator.ownership)
232227
}
233228
return this
234229
}

0 commit comments

Comments
 (0)