FIR IDE: do not depend on IDEA modules in frontend-api

This commit is contained in:
Ilya Kirillov
2021-06-19 18:50:52 +02:00
parent 28dbfeb845
commit 0c5883cbe0
2 changed files with 6 additions and 10 deletions
+2 -5
View File
@@ -10,12 +10,9 @@ dependencies {
compileOnly(project(":compiler:frontend"))
compileOnly(project(":core:compiler.common"))
compileOnly(project(":core:compiler.common.jvm"))
compileOnly(project(":idea:idea-frontend-independent"))
compileOnly(project(":idea:idea-frontend-fir:idea-fir-low-level-api"))
compileOnly(project(":idea:idea-frontend-independent"))
compileOnly(intellijCoreDep())
compileOnly(intellijDep())
compileOnly(intellijPluginDep("java")) { includeJars("java-api", "java-impl") }
compile(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) }
}
sourceSets {
@@ -8,14 +8,13 @@ package org.jetbrains.kotlin.idea.frontend.api
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationListener
import com.intellij.openapi.application.ApplicationManager
import org.jetbrains.kotlin.miniStdLib.multithreadings.javaThreadLocal
@KtInternalApiMarker
class NoWriteActionInAnalyseCallChecker(parentDisposable: Disposable) {
init {
val listener = object : ApplicationListener {
override fun writeActionFinished(action: Any) {
if (currentAnalysisContextEnteringCount > 0) {
if (currentAnalysisContextEnteringCount.get() > 0) {
throw WriteActionStartInsideAnalysisContextException()
}
}
@@ -24,14 +23,14 @@ class NoWriteActionInAnalyseCallChecker(parentDisposable: Disposable) {
}
fun beforeEnteringAnalysisContext() {
currentAnalysisContextEnteringCount++
currentAnalysisContextEnteringCount.set(currentAnalysisContextEnteringCount.get() + 1)
}
fun afterLeavingAnalysisContext() {
currentAnalysisContextEnteringCount--
currentAnalysisContextEnteringCount.set(currentAnalysisContextEnteringCount.get() - 1)
}
private var currentAnalysisContextEnteringCount by javaThreadLocal(0)
private val currentAnalysisContextEnteringCount = ThreadLocal.withInitial { 0 }
}
class WriteActionStartInsideAnalysisContextException : IllegalStateException(