Skip to content

Commit db901c0

Browse files
committed
1 parent f054de1 commit db901c0

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

marker/src/main/kotlin/spp/jetbrains/marker/service/SourceGuideProvider.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import com.intellij.openapi.diagnostic.logger
2222
import spp.jetbrains.marker.service.define.AbstractSourceGuideProvider
2323
import spp.jetbrains.marker.source.SourceFileMarker
2424
import java.util.concurrent.ConcurrentHashMap
25+
import java.util.concurrent.CopyOnWriteArrayList
2526

2627
/**
2728
* todo: description.
@@ -32,15 +33,14 @@ import java.util.concurrent.ConcurrentHashMap
3233
object 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? {

0 commit comments

Comments
 (0)