[Analysis API] remove analyzeInModalWindow to the intellij repository
As it's IDE-specific functionality
This commit is contained in:
committed by
Space Team
parent
32456a1611
commit
5ac0d2e603
@@ -7,11 +7,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.progress.Task
|
||||
import com.intellij.openapi.util.Computable
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeTokenFactory
|
||||
import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtModule
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
@@ -54,27 +49,4 @@ public inline fun <R> analyzeInDependedAnalysisSession(
|
||||
action: KtAnalysisSession.() -> R
|
||||
): R =
|
||||
KtAnalysisSessionProvider.getInstance(originalFile.project)
|
||||
.analyseInDependedAnalysisSession(originalFile, elementToReanalyze, action)
|
||||
|
||||
/**
|
||||
* Show a modal window with a progress bar and specified [windowTitle]
|
||||
* and execute given [action] task with [KtAnalysisSession] context
|
||||
* If [action] throws some exception, then [analyzeInModalWindow] will rethrow it
|
||||
* Should be executed from EDT only
|
||||
* If you want to analyse something from non-EDT thread, consider using [analyze]
|
||||
*/
|
||||
public inline fun <R> analyzeInModalWindow(
|
||||
contextElement: KtElement,
|
||||
windowTitle: String,
|
||||
crossinline action: KtAnalysisSession.() -> R
|
||||
): R {
|
||||
ApplicationManager.getApplication().assertIsDispatchThread()
|
||||
val task = object : Task.WithResult<R, Exception>(contextElement.project, windowTitle, /*canBeCancelled*/ true) {
|
||||
override fun compute(indicator: ProgressIndicator): R =
|
||||
ApplicationManager.getApplication().runReadAction(Computable {
|
||||
analyze(contextElement, action)
|
||||
})
|
||||
}
|
||||
task.queue()
|
||||
return task.result
|
||||
}
|
||||
.analyseInDependedAnalysisSession(originalFile, elementToReanalyze, action)
|
||||
Reference in New Issue
Block a user