File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
marker/src/main/kotlin/spp/jetbrains/marker/service Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ import com.intellij.openapi.diagnostic.logger
2222import spp.jetbrains.marker.service.define.AbstractSourceGuideProvider
2323import spp.jetbrains.marker.source.SourceFileMarker
2424import java.util.concurrent.ConcurrentHashMap
25+ import java.util.concurrent.CopyOnWriteArrayList
2526
2627/* *
2728 * todo: description.
@@ -32,15 +33,14 @@ import java.util.concurrent.ConcurrentHashMap
3233object SourceGuideProvider : AbstractSourceGuideProvider {
3334
3435 private val log = logger<SourceGuideProvider >()
35- private val providers = ConcurrentHashMap <String , MutableList <AbstractSourceGuideProvider >>()
36+ private val providers = ConcurrentHashMap <String , CopyOnWriteArrayList <AbstractSourceGuideProvider >>()
3637
3738 fun addProvider (guideProvider : AbstractSourceGuideProvider , language : String , vararg languages : String ) {
38- providers.computeIfAbsent(language) { mutableListOf () }.add(guideProvider)
39- languages.forEach { providers.computeIfAbsent(it) { mutableListOf () }.add(guideProvider) }
39+ addProvider(guideProvider, listOf (language, * languages))
4040 }
4141
4242 fun addProvider (guideProvider : AbstractSourceGuideProvider , languages : List <String >) {
43- languages.forEach { providers.computeIfAbsent(it) { mutableListOf () }.add(guideProvider) }
43+ languages.forEach { providers.computeIfAbsent(it) { CopyOnWriteArrayList () }.add(guideProvider) }
4444 }
4545
4646 private fun getProvider (language : String ): AbstractSourceGuideProvider ? {
You can’t perform that action at this time.
0 commit comments