Skip to content

Commit

Permalink
Don't resolve built-in types against the index if index is updating
Browse files Browse the repository at this point in the history
Fixes #3168
  • Loading branch information
KronicDeth committed May 26, 2023
1 parent 66cb85e commit 2823a31
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions src/org/elixir_lang/reference/resolver/Type.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.elixir_lang.reference.resolver

import com.intellij.openapi.project.DumbService
import com.intellij.psi.PsiElement
import com.intellij.psi.ResolveResult
import com.intellij.psi.impl.source.resolve.ResolveCache
Expand Down Expand Up @@ -56,16 +57,18 @@ object Type : ResolveCache.PolyVariantResolver<org.elixir_lang.reference.Type> {
val project = entrance.project
val resolveResultList = mutableListOf<ResolveResult>()

StubIndex.getInstance().processElements(
ModularName.KEY,
":erlang",
project,
GlobalSearchScope.allScope(project),
NamedElement::class.java
) { namedElement ->
resolveResultList.addAll(MultiResolve.resolveResults(name, arity, false, namedElement))
if (!DumbService.isDumb(project)) {
StubIndex.getInstance().processElements(
ModularName.KEY,
":erlang",
project,
GlobalSearchScope.allScope(project),
NamedElement::class.java
) { namedElement ->
resolveResultList.addAll(MultiResolve.resolveResults(name, arity, false, namedElement))

true
true
}
}

return resolveResultList.toTypedArray()
Expand Down

0 comments on commit 2823a31

Please sign in to comment.