Fix unstable reference provider ordering in IDE's KtIdeReferenceProviderService

As a result of unstable reference provider ordering, order of references in 'PsiElements' vary each IDE restart.
It directly affects the 'getReference()' method which returns the first available reference.
This commit is contained in:
Yan Zhulanow
2022-07-23 00:23:00 +09:00
committed by Space
parent 74273c6273
commit 0c001cc993
@@ -26,7 +26,7 @@ interface KotlinReferenceProviderContributor {
class KotlinPsiReferenceRegistrar {
val providers: MultiMap<Class<out PsiElement>, KotlinPsiReferenceProvider> = MultiMap.create()
val providers: MultiMap<Class<out PsiElement>, KotlinPsiReferenceProvider> = MultiMap(LinkedHashMap())
inline fun <reified E : KtElement> registerProvider(crossinline factory: (E) -> PsiReference?) {
registerMultiProvider<E> { element ->