FIR IDE: use correct out of block modification tracker

This commit is contained in:
Ilya Kirillov
2020-12-16 22:22:13 +01:00
parent 0862928bf7
commit eead868cd2
3 changed files with 6 additions and 4 deletions
@@ -7,10 +7,10 @@ package org.jetbrains.kotlin.idea.frontend.api
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.analyzer.KotlinModificationTrackerService
import org.jetbrains.kotlin.trackers.createProjectWideOutOfBlockModificationTracker
class ReadActionConfinementValidityToken(project: Project) : ValidityToken() {
private val modificationTracker = KotlinModificationTrackerService.getInstance(project).modificationTracker
private val modificationTracker = project.createProjectWideOutOfBlockModificationTracker()
private val onCreatedTimeStamp = modificationTracker.modificationCount
@OptIn(HackToForceAllowRunningAnalyzeOnEDT::class)
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.idea.KotlinLanguage
import java.util.concurrent.TimeUnit
import java.util.concurrent.locks.ReentrantLock
import org.jetbrains.kotlin.trackers.createProjectWideOutOfBlockModificationTracker
import javax.swing.Icon
abstract class FirLightClassBase protected constructor(manager: PsiManager) : LightElement(manager, KotlinLanguage.INSTANCE), PsiClass,
@@ -59,7 +60,7 @@ abstract class FirLightClassBase protected constructor(manager: PsiManager) : Li
private val myInnersCache = KotlinClassInnerStuffCache(
myClass = this@FirLightClassBase,
externalDependencies = listOf(KotlinModificationTrackerService.getInstance(manager.project).outOfBlockModificationTracker),
externalDependencies = listOf(manager.project.createProjectWideOutOfBlockModificationTracker()),
lazyCreator = FirLightClassesLazyCreator(project)
)
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClass
import org.jetbrains.kotlin.trackers.createProjectWideOutOfBlockModificationTracker
import java.util.*
fun getOrCreateFirLightClass(classOrObject: KtClassOrObject): KtLightClass? =
@@ -39,7 +40,7 @@ fun getOrCreateFirLightClass(classOrObject: KtClassOrObject): KtLightClass? =
CachedValueProvider.Result
.create(
createFirLightClassNoCache(classOrObject),
KotlinModificationTrackerService.getInstance(classOrObject.project).outOfBlockModificationTracker
classOrObject.project.createProjectWideOutOfBlockModificationTracker()
)
}