From 0c5883cbe05b32eb805946c0ad14973e4e8013bc Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Sat, 19 Jun 2021 18:50:52 +0200 Subject: [PATCH] FIR IDE: do not depend on IDEA modules in frontend-api --- idea/idea-frontend-api/build.gradle.kts | 7 ++----- .../frontend/api/NoWriteActionInAnalyseCallChecker.kt | 9 ++++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/idea/idea-frontend-api/build.gradle.kts b/idea/idea-frontend-api/build.gradle.kts index f80566eef5b..42d2746d2b9 100644 --- a/idea/idea-frontend-api/build.gradle.kts +++ b/idea/idea-frontend-api/build.gradle.kts @@ -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 { diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/NoWriteActionInAnalyseCallChecker.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/NoWriteActionInAnalyseCallChecker.kt index 66717dd10f3..f971d28bd38 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/NoWriteActionInAnalyseCallChecker.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/NoWriteActionInAnalyseCallChecker.kt @@ -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(