From 6eb65908e0eb710d6bf80747ae5c68e485fbffdd Mon Sep 17 00:00:00 2001 From: Oleg Vladimirov Date: Fri, 26 Jun 2020 13:28:00 +0300 Subject: [PATCH] bugfix --- .../moshi/kotlin/reflect/KotlinJsonAdapter.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kotlin/reflect/src/main/java/com/squareup/moshi/kotlin/reflect/KotlinJsonAdapter.kt b/kotlin/reflect/src/main/java/com/squareup/moshi/kotlin/reflect/KotlinJsonAdapter.kt index b33a5ce..a7ec42d 100644 --- a/kotlin/reflect/src/main/java/com/squareup/moshi/kotlin/reflect/KotlinJsonAdapter.kt +++ b/kotlin/reflect/src/main/java/com/squareup/moshi/kotlin/reflect/KotlinJsonAdapter.kt @@ -154,16 +154,18 @@ internal class KotlinJsonAdapter( /** A simple [Map] that uses parameter indexes instead of sorting or hashing. */ class IndexedParameterMap( - private val parameterKeys: List, - private val parameterValues: Array - ) : AbstractMap() { + private val parameterKeys: List, + private val parameterValues: Array + ) : AbstractMutableMap() { - override val entries: Set> + override fun put(key: KParameter, value: Any?): Any? = null + + override val entries: MutableSet> get() { val allPossibleEntries = parameterKeys.mapIndexed { index, value -> SimpleEntry(value, parameterValues[index]) } - return allPossibleEntries.filterTo(LinkedHashSet>()) { + return allPossibleEntries.filterTo(mutableSetOf()) { it.value !== ABSENT_VALUE } }