New J2K: Fix converters spliting

This commit is contained in:
Ilya Kirillov
2019-03-28 14:15:47 +03:00
committed by Ilya Kirillov
parent db2ad96f00
commit 02a206bf7c
4 changed files with 17 additions and 12 deletions
+1
View File
@@ -96,6 +96,7 @@ dependencies {
testRuntime(project(":idea:idea-android")) { isTransitive = false }
testRuntime(project(":plugins:lint")) { isTransitive = false }
testRuntime(project(":plugins:uast-kotlin"))
testRuntime(project(":nj2k:nj2k-services")) { isTransitive = false }
(rootProject.extra["compilerModules"] as Array<String>).forEach {
testRuntime(project(it))
@@ -67,6 +67,7 @@ data class FilesResult(val results: List<String>, val externalCodeProcessing: Ex
abstract class JavaToKotlinConverter(private val project: Project) {
protected abstract fun elementsToKotlin(inputElements: List<PsiElement>, processor: WithProgressProcessor): Result
protected abstract fun createDummyKtFile(text: String, project: Project, context: PsiElement): KtFile
private val LOG = Logger.getInstance("#org.jetbrains.kotlin.j2k.JavaToKotlinConverter")
@@ -84,7 +85,7 @@ abstract class JavaToKotlinConverter(private val project: Project) {
val (i, result) = pair
try {
val kotlinFile = ApplicationManager.getApplication().runReadAction(Computable {
KtPsiFactory(project).createFileWithLightClassSupport("dummy.kt", result!!.text, files[i])
createDummyKtFile(result!!.text, project, files[i])
})
@@ -119,7 +120,10 @@ class OldJavaToKotlinConverter(
private val services: JavaToKotlinConverterServices
) : JavaToKotlinConverter(project) {
protected override fun elementsToKotlin(inputElements: List<PsiElement>, processor: WithProgressProcessor): Result {
override fun createDummyKtFile(text: String, project: Project, context: PsiElement): KtFile =
KtPsiFactory(project).createAnalyzableFile("dummy.kt", text, context)
override fun elementsToKotlin(inputElements: List<PsiElement>, processor: WithProgressProcessor): Result {
try {
val usageProcessings = LinkedHashMap<PsiElement, MutableCollection<UsageProcessing>>()
val usageProcessingCollector: (UsageProcessing) -> Unit = {
+5 -10
View File
@@ -8,11 +8,9 @@ plugins {
dependencies {
testRuntime(intellijDep())
compile(project(":j2k"))
testCompile(files(project(":j2k").dependencyProject.sourceSets.getByName("test").output))
compile(kotlinStdlib())
compile(project(":idea:idea-core"))
compile(project(":kotlin-stdlib"))
compile(project(":j2k"))
compile(project(":compiler:frontend"))
compile(project(":compiler:frontend.java"))
compile(project(":compiler:light-classes"))
@@ -20,6 +18,7 @@ dependencies {
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
testCompile(project(":idea"))
testCompile(projectTests(":j2k"))
testCompile(project(":nj2k:nj2k-services"))
testCompile(projectTests(":idea:idea-test-framework"))
testCompile(project(":compiler:light-classes"))
@@ -61,6 +60,7 @@ dependencies {
testRuntime(intellijPluginDep("properties"))
testRuntime(intellijPluginDep("java-i18n"))
testRuntime(intellijPluginDep("java-decompiler"))
testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }
}
sourceSets {
@@ -73,12 +73,9 @@ projectTest {
workingDir = rootDir
}
testsJar()
val test: Test by tasks
val cleanTest by tasks
configureFreeCompilerArg(true, "-Xeffect-system")
configureFreeCompilerArg(true, "-Xnew-inference")
@@ -93,6 +90,4 @@ fun configureFreeCompilerArg(isEnabled: Boolean, compilerArgument: String) {
}
}
}
ideaPlugin()
@@ -21,6 +21,8 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.j2k.*
import org.jetbrains.kotlin.nj2k.tree.JKTreeElement
import org.jetbrains.kotlin.nj2k.tree.prettyDebugPrintTree
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.KtPsiFactory
class NewJavaToKotlinConverter(
val project: Project,
@@ -31,6 +33,9 @@ class NewJavaToKotlinConverter(
override val oldServices = oldConverterServices
}
override fun createDummyKtFile(text: String, project: Project, context: PsiElement): KtFile =
KtPsiFactory(project).createFileWithLightClassSupport("dummy.kt", text, context)
private fun List<JKTreeElement>.prettyPrintTrees() = buildString {
for (tree in this@prettyPrintTrees) {
appendln()