[JVM_IR] Enable KotlinAgainstJava and remaining JavaAgainstKotlin test.

This commit is contained in:
Mads Ager
2020-11-02 12:05:58 +01:00
committed by Alexander Udalov
parent 24345bb6b3
commit 2c8c47399a
8 changed files with 1860 additions and 547 deletions
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.cli.common.modules.ModuleBuilder
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.codegen.GenerationUtils
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.javac.JavacWrapper
import org.jetbrains.kotlin.load.kotlin.ModuleVisibilityManager
@@ -90,6 +91,7 @@ abstract class AbstractCompileKotlinAgainstJavaTest : TestCaseWithTmpdir() {
aptMode: Boolean
): Boolean {
val environment = createEnvironmentWithMockJdkAndIdeaAnnotations(disposable)
updateConfiguration(environment.configuration)
environment.configuration.put(JVMConfigurationKeys.USE_JAVAC, true)
environment.configuration.put(JVMConfigurationKeys.COMPILE_JAVA, true)
val ktFiles = kotlinFiles.map { kotlinFile: File ->
@@ -115,6 +117,8 @@ abstract class AbstractCompileKotlinAgainstJavaTest : TestCaseWithTmpdir() {
return JavacWrapper.getInstance(environment.project).use { it.compile(outDir) }
}
open fun updateConfiguration(configuration: CompilerConfiguration) {}
companion object {
// Do not render parameter names because there are test cases where classes inherit from JDK collections,
// and some versions of JDK have debug information in the class files (including parameter names), and some don't
@@ -0,0 +1,14 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.jvm.compiler.ir
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.jvm.compiler.AbstractCompileKotlinAgainstJavaTest
abstract class AbstractIrCompileKotlinAgainstJavaTest : AbstractCompileKotlinAgainstJavaTest() {
override fun updateConfiguration(configuration: CompilerConfiguration) = configuration.put(JVMConfigurationKeys.IR, true)
}