summaryrefslogtreecommitdiff
path: root/formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt
diff options
context:
space:
mode:
Diffstat (limited to 'formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt')
-rw-r--r--formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt12
1 files changed, 12 insertions, 0 deletions
diff --git a/formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt b/formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt
new file mode 100644
index 00000000..b51ff401
--- /dev/null
+++ b/formats/json/jsWasmMain/src/kotlinx/serialization/json/internal/createMapForCache.kt
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+package kotlinx.serialization.json.internal
+
+/**
+ * Creates a ConcurrentHashMap on JVM and regular HashMap on other platforms.
+ * To make actual use of cache in Kotlin/Native, mark a top-level object with this map
+ * as a @[ThreadLocal].
+ */
+internal actual fun <K, V> createMapForCache(initialCapacity: Int): MutableMap<K, V> = HashMap(initialCapacity)