Do not resolve services in non-default ctors

This commit is contained in:
Vladimir Dolzhenko
2019-09-24 09:11:20 +02:00
parent 0e1e1e350f
commit 8b0aeb9a55
5 changed files with 15 additions and 15 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.caches.resolve
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiManager
import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport
@@ -20,8 +21,8 @@ import org.jetbrains.kotlin.psi.KtFileClassProvider
import org.jetbrains.kotlin.psi.analysisContext
import org.jetbrains.kotlin.platform.jvm.isJvm
class KtFileClassProviderImpl(val kotlinAsJavaSupport: KotlinAsJavaSupport) :
KtFileClassProvider {
class KtFileClassProviderImpl(val project: Project) : KtFileClassProvider {
override fun getFileClasses(file: KtFile): Array<PsiClass> {
if (file.project.isInDumbMode()) {
return PsiClass.EMPTY_ARRAY
@@ -45,6 +46,8 @@ class KtFileClassProviderImpl(val kotlinAsJavaSupport: KotlinAsJavaSupport) :
val jvmClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
val fileClassFqName = file.javaFileFacadeFqName
val kotlinAsJavaSupport = KotlinAsJavaSupport.getInstance(project)
val facadeClasses = when {
file.analysisContext != null && file.hasTopLevelCallables() ->
listOf(
@@ -11,10 +11,10 @@ import com.intellij.psi.util.PsiModificationTracker
import org.jetbrains.kotlin.analyzer.KotlinModificationTrackerService
import org.jetbrains.kotlin.psi.KtFile
class KotlinIDEModificationTrackerService(project: Project, psiModificationTracker: PsiModificationTracker) :
class KotlinIDEModificationTrackerService(project: Project) :
KotlinModificationTrackerService() {
override val modificationTracker: ModificationTracker = psiModificationTracker
override val modificationTracker: ModificationTracker = PsiModificationTracker.SERVICE.getInstance(project)
override val outOfBlockModificationTracker: ModificationTracker =
KotlinCodeBlockModificationListener.getInstance(project).kotlinOutOfCodeBlockTracker