New J2K: add conversion progress bar
Relates to #KT-31812
This commit is contained in:
@@ -27,8 +27,8 @@ import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||
import org.jetbrains.kotlin.idea.core.util.range
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.idea.core.util.range
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
@@ -42,6 +42,9 @@ import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
|
||||
import java.util.*
|
||||
|
||||
class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
|
||||
override val phasesCount: Int = 1
|
||||
|
||||
override fun insertImport(file: KtFile, fqName: FqName) {
|
||||
ApplicationManager.getApplication().invokeAndWait {
|
||||
runWriteAction {
|
||||
@@ -57,7 +60,12 @@ class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
PROCESS
|
||||
}
|
||||
|
||||
override fun doAdditionalProcessing(file: KtFile, converterContext: ConverterContext?, rangeMarker: RangeMarker?) =
|
||||
override fun doAdditionalProcessing(
|
||||
file: KtFile,
|
||||
converterContext: ConverterContext?,
|
||||
rangeMarker: RangeMarker?,
|
||||
onPhaseChanged: ((Int, String) -> Unit)?
|
||||
) =
|
||||
runBlocking(EDT.ModalityStateElement(ModalityState.defaultModalityState())) {
|
||||
do {
|
||||
var modificationStamp: Long? = file.modificationStamp
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.idea.j2k
|
||||
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiJavaFile
|
||||
import org.jetbrains.kotlin.j2k.*
|
||||
|
||||
object JavaToKotlinConverterFactory {
|
||||
@@ -20,6 +22,17 @@ object JavaToKotlinConverterFactory {
|
||||
fun createPostProcessor(formatCode: Boolean): PostProcessor =
|
||||
J2kConverterExtension.extension.createPostProcessor(formatCode)
|
||||
|
||||
fun createWithProgressIndicator(
|
||||
progress: ProgressIndicator?,
|
||||
files: List<PsiJavaFile>?,
|
||||
phasesCount: Int
|
||||
): WithProgressProcessor =
|
||||
J2kConverterExtension.extension.createWithProgressProcessor(progress, files, phasesCount)
|
||||
|
||||
|
||||
fun doCheckBeforeConversion(project: Project, module: Module): Boolean =
|
||||
J2kConverterExtension.extension.doCheckBeforeConversion(project, module)
|
||||
|
||||
val isNewJ2k: Boolean
|
||||
get() = J2kConverterExtension.extension.isNewJ2k
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.jetbrains.kotlin.idea.j2k
|
||||
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiJavaFile
|
||||
import org.jetbrains.kotlin.j2k.*
|
||||
|
||||
class OldJ2kConverterExtension : J2kConverterExtension() {
|
||||
@@ -15,4 +17,11 @@ class OldJ2kConverterExtension : J2kConverterExtension() {
|
||||
|
||||
override fun createPostProcessor(formatCode: Boolean): PostProcessor =
|
||||
J2kPostProcessor(formatCode)
|
||||
|
||||
override fun createWithProgressProcessor(
|
||||
progress: ProgressIndicator?,
|
||||
files: List<PsiJavaFile>?,
|
||||
phasesCount: Int
|
||||
): WithProgressProcessor =
|
||||
OldWithProgressProcessor(progress, files)
|
||||
}
|
||||
Reference in New Issue
Block a user