New J2K: make post-processing aware of other files which are being converted
Before post-processing was able to handle only one converting file at once So, some conversions (like (field, getter, setter) to Kotlin property) was not able to work when converting class hierarchy was split into multiple files. Also, inferring nullability for a set of files was broken #KT-19569 fixed #KT-34266 fixed #KT-32518 fixed
This commit is contained in:
@@ -32,8 +32,7 @@ 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
|
||||
import org.jetbrains.kotlin.j2k.ConverterContext
|
||||
import org.jetbrains.kotlin.j2k.PostProcessor
|
||||
import org.jetbrains.kotlin.j2k.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -61,11 +60,15 @@ class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
}
|
||||
|
||||
override fun doAdditionalProcessing(
|
||||
file: KtFile,
|
||||
target: JKPostProcessingTarget,
|
||||
converterContext: ConverterContext?,
|
||||
rangeMarker: RangeMarker?,
|
||||
onPhaseChanged: ((Int, String) -> Unit)?
|
||||
) =
|
||||
) {
|
||||
val (file, rangeMarker) = when (target) {
|
||||
is JKPieceOfCodePostProcessingTarget -> target.file to target.rangeMarker
|
||||
is JKMultipleFilesPostProcessingTarget -> target.files.single() to null
|
||||
}
|
||||
|
||||
runBlocking(EDT.ModalityStateElement(ModalityState.defaultModalityState())) {
|
||||
do {
|
||||
var modificationStamp: Long? = file.modificationStamp
|
||||
@@ -109,7 +112,7 @@ class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private data class ActionData(val element: KtElement, val action: () -> Unit, val priority: Int, val writeActionNeeded: Boolean)
|
||||
|
||||
|
||||
@@ -57,7 +57,6 @@ import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
|
||||
import org.jetbrains.kotlin.j2k.*
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.UserDataProperty
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.util.*
|
||||
|
||||
Reference in New Issue
Block a user