New J2K: Apply post-processing to nj2k results

This commit is contained in:
Simon Ogorodnik
2018-06-16 20:04:56 +03:00
committed by Ilya Kirillov
parent b216574298
commit 9d3805defe
2 changed files with 32 additions and 2 deletions
@@ -16,12 +16,27 @@
package org.jetbrains.kotlin.j2k
import com.intellij.openapi.command.CommandProcessor
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.j2k.IdeaNewJavaToKotlinServices
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
import org.jetbrains.kotlin.psi.KtPsiFactory
abstract class AbstractNewJavaToKotlinConverterNewSingleFileTest : AbstractJavaToKotlinConverterSingleFileTest() {
override fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String {
val file = createJavaFile(text)
return NewJavaToKotlinConverter(project, settings).filesToKotlin(listOf(file)).single()
val factory = KtPsiFactory(project, true)
val postProcessor = J2kPostProcessor(true)
return NewJavaToKotlinConverter(project, settings, IdeaNewJavaToKotlinServices).filesToKotlin(listOf(file)).map {
factory.createFileWithLightClassSupport("Dummy.kt", it, file)
}.map {
CommandProcessor.getInstance().runUndoTransparentAction {
postProcessor.doAdditionalProcessing(it, null)
}
it.text
}.single()
}
}
@@ -16,12 +16,27 @@
package org.jetbrains.kotlin.j2k
import com.intellij.openapi.command.CommandProcessor
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.j2k.IdeaNewJavaToKotlinServices
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
import org.jetbrains.kotlin.psi.KtPsiFactory
abstract class AbstractNewJavaToKotlinConverterSingleFileTest : AbstractJavaToKotlinConverterSingleFileTest() {
override fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String {
val file = createJavaFile(text)
return NewJavaToKotlinConverter(project, settings).filesToKotlin(listOf(file)).single()
val factory = KtPsiFactory(project, true)
val postProcessor = J2kPostProcessor(true)
return NewJavaToKotlinConverter(project, settings, IdeaNewJavaToKotlinServices).filesToKotlin(listOf(file)).map {
factory.createFileWithLightClassSupport("Dummy.kt", it, file)
}.map {
CommandProcessor.getInstance().runUndoTransparentAction {
postProcessor.doAdditionalProcessing(it, null)
}
it.text
}.single()
}
}