JVM_IR: Enable loadJava tests
This commit is contained in:
committed by
Alexander Udalov
parent
65f06454be
commit
5be0bd4a56
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
//ALLOW_AST_ACCESS
|
//ALLOW_AST_ACCESS
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// !LANGUAGE: +InlineClasses
|
// !LANGUAGE: +InlineClasses
|
||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
package test
|
package test
|
||||||
|
|
||||||
annotation class Ann
|
annotation class Ann
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// !LANGUAGE: +InlineClasses
|
// !LANGUAGE: +InlineClasses
|
||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
@file:Suppress("NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS")
|
@file:Suppress("NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS")
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
package test
|
package test
|
||||||
|
|
||||||
annotation class Anno
|
annotation class Anno
|
||||||
|
|||||||
Vendored
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
package test
|
package test
|
||||||
|
|
||||||
annotation class Anno
|
annotation class Anno
|
||||||
|
|||||||
Vendored
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
package test
|
package test
|
||||||
|
|
||||||
annotation class A(val value: String)
|
annotation class A(val value: String)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
package test
|
package test
|
||||||
|
|
||||||
interface T {
|
interface T {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
//ALLOW_AST_ACCESS
|
//ALLOW_AST_ACCESS
|
||||||
|
|
||||||
package test
|
package test
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
//ALLOW_AST_ACCESS
|
//ALLOW_AST_ACCESS
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// !LANGUAGE: -NoConstantValueAttributeForNonConstVals
|
// !LANGUAGE: -NoConstantValueAttributeForNonConstVals
|
||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
//ALLOW_AST_ACCESS
|
//ALLOW_AST_ACCESS
|
||||||
|
|
||||||
package test
|
package test
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
//ALLOW_AST_ACCESS
|
//ALLOW_AST_ACCESS
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
+4
@@ -121,6 +121,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
File txtFile = getTxtFileFromKtFile(ktFileName);
|
File txtFile = getTxtFileFromKtFile(ktFileName);
|
||||||
|
|
||||||
CompilerConfiguration configuration = newConfiguration(configurationKind, TestJdkKind.MOCK_JDK, getClasspath(), Collections.emptyList());
|
CompilerConfiguration configuration = newConfiguration(configurationKind, TestJdkKind.MOCK_JDK, getClasspath(), Collections.emptyList());
|
||||||
|
updateConfiguration(configuration);
|
||||||
if (useTypeTableInSerializer) {
|
if (useTypeTableInSerializer) {
|
||||||
configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, true);
|
configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, true);
|
||||||
}
|
}
|
||||||
@@ -189,6 +190,8 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
|
|
||||||
protected void configureEnvironment(KotlinCoreEnvironment environment) {}
|
protected void configureEnvironment(KotlinCoreEnvironment environment) {}
|
||||||
|
|
||||||
|
protected void updateConfiguration(CompilerConfiguration configuration) {}
|
||||||
|
|
||||||
protected void doTestJavaAgainstKotlin(String expectedFileName) throws Exception {
|
protected void doTestJavaAgainstKotlin(String expectedFileName) throws Exception {
|
||||||
File expectedFile = new File(expectedFileName);
|
File expectedFile = new File(expectedFileName);
|
||||||
File sourcesDir = new File(expectedFileName.replaceFirst("\\.txt$", ""));
|
File sourcesDir = new File(expectedFileName.replaceFirst("\\.txt$", ""));
|
||||||
@@ -196,6 +199,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
FileUtil.copyDir(sourcesDir, new File(tmpdir, "test"), pathname -> pathname.getName().endsWith(".java"));
|
FileUtil.copyDir(sourcesDir, new File(tmpdir, "test"), pathname -> pathname.getName().endsWith(".java"));
|
||||||
|
|
||||||
CompilerConfiguration configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.JDK_ONLY, getJdkKind());
|
CompilerConfiguration configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.JDK_ONLY, getJdkKind());
|
||||||
|
updateConfiguration(configuration);
|
||||||
ContentRootsKt.addKotlinSourceRoot(configuration, sourcesDir.getAbsolutePath());
|
ContentRootsKt.addKotlinSourceRoot(configuration, sourcesDir.getAbsolutePath());
|
||||||
JvmContentRootsKt.addJavaSourceRoot(configuration, new File("compiler/testData/loadJava/include"));
|
JvmContentRootsKt.addJavaSourceRoot(configuration, new File("compiler/testData/loadJava/include"));
|
||||||
JvmContentRootsKt.addJavaSourceRoot(configuration, tmpdir);
|
JvmContentRootsKt.addJavaSourceRoot(configuration, tmpdir);
|
||||||
|
|||||||
+14
@@ -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.AbstractLoadJavaWithFastClassReadingTest
|
||||||
|
|
||||||
|
abstract class AbstractIrLoadJavaTest : AbstractLoadJavaWithFastClassReadingTest() {
|
||||||
|
override fun updateConfiguration(configuration: CompilerConfiguration) = configuration.put(JVMConfigurationKeys.IR, true)
|
||||||
|
}
|
||||||
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.ir.AbstractIrSourceRangesTestCase
|
|||||||
import org.jetbrains.kotlin.ir.AbstractIrTextTestCase
|
import org.jetbrains.kotlin.ir.AbstractIrTextTestCase
|
||||||
import org.jetbrains.kotlin.jvm.compiler.*
|
import org.jetbrains.kotlin.jvm.compiler.*
|
||||||
import org.jetbrains.kotlin.jvm.compiler.ir.AbstractIrCompileJavaAgainstKotlinTest
|
import org.jetbrains.kotlin.jvm.compiler.ir.AbstractIrCompileJavaAgainstKotlinTest
|
||||||
|
import org.jetbrains.kotlin.jvm.compiler.ir.AbstractIrLoadJavaTest
|
||||||
import org.jetbrains.kotlin.jvm.compiler.javac.AbstractLoadJavaUsingJavacTest
|
import org.jetbrains.kotlin.jvm.compiler.javac.AbstractLoadJavaUsingJavacTest
|
||||||
import org.jetbrains.kotlin.lexer.kdoc.AbstractKDocLexerTest
|
import org.jetbrains.kotlin.lexer.kdoc.AbstractKDocLexerTest
|
||||||
import org.jetbrains.kotlin.lexer.kotlin.AbstractKotlinLexerTest
|
import org.jetbrains.kotlin.lexer.kotlin.AbstractKotlinLexerTest
|
||||||
@@ -383,6 +384,38 @@ fun main(args: Array<String>) {
|
|||||||
model("writeFlags", targetBackend = TargetBackend.JVM_IR)
|
model("writeFlags", targetBackend = TargetBackend.JVM_IR)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractIrLoadJavaTest> {
|
||||||
|
model("loadJava/compiledJava", extension = "java", testMethod = "doTestCompiledJava", targetBackend = TargetBackend.JVM_IR)
|
||||||
|
model(
|
||||||
|
"loadJava/compiledJavaAndKotlin",
|
||||||
|
extension = "txt",
|
||||||
|
testMethod = "doTestCompiledJavaAndKotlin",
|
||||||
|
targetBackend = TargetBackend.JVM_IR
|
||||||
|
)
|
||||||
|
model(
|
||||||
|
"loadJava/compiledJavaIncludeObjectMethods",
|
||||||
|
extension = "java",
|
||||||
|
testMethod = "doTestCompiledJavaIncludeObjectMethods",
|
||||||
|
targetBackend = TargetBackend.JVM_IR
|
||||||
|
)
|
||||||
|
model("loadJava/compiledKotlin", testMethod = "doTestCompiledKotlin", targetBackend = TargetBackend.JVM_IR)
|
||||||
|
model("loadJava/compiledKotlinWithStdlib", testMethod = "doTestCompiledKotlinWithStdlib", targetBackend = TargetBackend.JVM_IR)
|
||||||
|
model(
|
||||||
|
"loadJava/javaAgainstKotlin",
|
||||||
|
extension = "txt",
|
||||||
|
testMethod = "doTestJavaAgainstKotlin",
|
||||||
|
targetBackend = TargetBackend.JVM_IR
|
||||||
|
)
|
||||||
|
model(
|
||||||
|
"loadJava/kotlinAgainstCompiledJavaWithKotlin",
|
||||||
|
extension = "kt",
|
||||||
|
testMethod = "doTestKotlinAgainstCompiledJavaWithKotlin",
|
||||||
|
recursive = false,
|
||||||
|
targetBackend = TargetBackend.JVM_IR
|
||||||
|
)
|
||||||
|
model("loadJava/sourceJava", extension = "java", testMethod = "doTestSourceJava", targetBackend = TargetBackend.JVM_IR)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractIrLineNumberTest> {
|
testClass<AbstractIrLineNumberTest> {
|
||||||
model("lineNumber", targetBackend = TargetBackend.JVM_IR)
|
model("lineNumber", targetBackend = TargetBackend.JVM_IR)
|
||||||
}
|
}
|
||||||
|
|||||||
+5113
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user