File tree 1 file changed +4
-4
lines changed
marker/src/main/kotlin/spp/jetbrains/marker/service
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
22
22
import spp.jetbrains.marker.service.define.AbstractSourceGuideProvider
23
23
import spp.jetbrains.marker.source.SourceFileMarker
24
24
import java.util.concurrent.ConcurrentHashMap
25
+ import java.util.concurrent.CopyOnWriteArrayList
25
26
26
27
/* *
27
28
* todo: description.
@@ -32,15 +33,14 @@ import java.util.concurrent.ConcurrentHashMap
32
33
object SourceGuideProvider : AbstractSourceGuideProvider {
33
34
34
35
private val log = logger<SourceGuideProvider >()
35
- private val providers = ConcurrentHashMap <String , MutableList <AbstractSourceGuideProvider >>()
36
+ private val providers = ConcurrentHashMap <String , CopyOnWriteArrayList <AbstractSourceGuideProvider >>()
36
37
37
38
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))
40
40
}
41
41
42
42
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) }
44
44
}
45
45
46
46
private fun getProvider (language : String ): AbstractSourceGuideProvider ? {
You can’t perform that action at this time.
0 commit comments