Skip to content

Commit c62b1fa

Browse files
Michael NedzelskyMichael Nedzelsky
authored andcommitted
JS: fix support auto import for class names
1 parent 15ebab4 commit c62b1fa

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic
3333
import org.jetbrains.kotlin.diagnostics.Errors
3434
import org.jetbrains.kotlin.idea.JetBundle
3535
import org.jetbrains.kotlin.idea.actions.JetAddImportAction
36-
import org.jetbrains.kotlin.idea.caches.JetShortNamesCache
37-
import org.jetbrains.kotlin.idea.core.KotlinIndicesHelper
3836
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
37+
import org.jetbrains.kotlin.idea.core.KotlinIndicesHelper
3938
import org.jetbrains.kotlin.idea.core.isVisible
4039
import org.jetbrains.kotlin.idea.core.psiClassToDescriptor
4140
import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
@@ -141,7 +140,12 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction<Jet
141140
val indicesHelper = KotlinIndicesHelper(file.getProject(), resolutionFacade, bindingContext, searchScope, moduleDescriptor, ::isVisible)
142141

143142
if (!element.isImportDirectiveExpression() && !JetPsiUtil.isSelectorInQualified(element)) {
144-
getClasses(referenceName, file, searchScope).filterTo(result, ::isVisible)
143+
if (ProjectStructureUtil.isJsKotlinModule(file)) {
144+
result.addAll(indicesHelper.getClassDescriptors({ it == referenceName }, { true }))
145+
}
146+
else {
147+
getClasses(referenceName, file, searchScope).filterTo(result, ::isVisible)
148+
}
145149
result.addAll(indicesHelper.getTopLevelCallablesByName(referenceName))
146150
}
147151

@@ -156,13 +160,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction<Jet
156160
.filterNotNull()
157161
.toSet()
158162

159-
private fun getShortNamesCache(jetFile: JetFile): PsiShortNamesCache {
160-
// if we are in JS module, do not include non-kotlin classes
161-
return if (ProjectStructureUtil.isJsKotlinModule(jetFile))
162-
JetShortNamesCache.getKotlinInstance(jetFile.getProject())
163-
else
164-
PsiShortNamesCache.getInstance(jetFile.getProject())
165-
}
163+
private fun getShortNamesCache(jetFile: JetFile): PsiShortNamesCache = PsiShortNamesCache.getInstance(jetFile.getProject())
166164

167165
companion object {
168166
private val ERRORS = setOf(Errors.UNRESOLVED_REFERENCE, Errors.UNRESOLVED_REFERENCE_WRONG_RECEIVER)

0 commit comments

Comments
 (0)