Do not resolve services in non-default ctors
This commit is contained in:
+5
-2
@@ -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(
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user