From 2fe7cf27ad9a676e705418895621751e9adbb52c Mon Sep 17 00:00:00 2001 From: pyos Date: Fri, 2 Jul 2021 11:09:42 +0200 Subject: [PATCH] kotlinp: use JVM_IR backend for compiling tests Also, test optimized delegated properties. --- .../org/jetbrains/kotlin/kotlinp/test/KotlinpTestUtils.kt | 2 ++ .../tools/kotlinp/testData/LocalDelegatedProperties.txt | 7 ------- libraries/tools/kotlinp/testData/Properties.kt | 2 ++ libraries/tools/kotlinp/testData/Properties.txt | 5 +++++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/libraries/tools/kotlinp/test/org/jetbrains/kotlin/kotlinp/test/KotlinpTestUtils.kt b/libraries/tools/kotlinp/test/org/jetbrains/kotlin/kotlinp/test/KotlinpTestUtils.kt index 1c78787b7a4..63a250142a0 100644 --- a/libraries/tools/kotlinp/test/org/jetbrains/kotlin/kotlinp/test/KotlinpTestUtils.kt +++ b/libraries/tools/kotlinp/test/org/jetbrains/kotlin/kotlinp/test/KotlinpTestUtils.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.checkers.setupLanguageVersionSettingsForCompilerTest 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.JVMConfigurationKeys import org.jetbrains.kotlin.jvm.compiler.AbstractLoadJavaTest import org.jetbrains.kotlin.kotlinp.Kotlinp import org.jetbrains.kotlin.kotlinp.KotlinpSettings @@ -74,6 +75,7 @@ fun compileAndPrintAllFiles(file: File, disposable: Disposable, tmpdir: File, co private fun compile(file: File, disposable: Disposable, tmpdir: File, forEachOutputFile: (File) -> Unit) { val content = file.readText() val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK) + configuration.put(JVMConfigurationKeys.IR, true) AbstractLoadJavaTest.updateConfigurationWithDirectives(content, configuration) val environment = KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) setupLanguageVersionSettingsForCompilerTests(content, environment) diff --git a/libraries/tools/kotlinp/testData/LocalDelegatedProperties.txt b/libraries/tools/kotlinp/testData/LocalDelegatedProperties.txt index b31a1810a75..8f08db14b36 100644 --- a/libraries/tools/kotlinp/testData/LocalDelegatedProperties.txt +++ b/libraries/tools/kotlinp/testData/LocalDelegatedProperties.txt @@ -22,13 +22,6 @@ public final class Class : kotlin/Any { // module name: test-module } -// Class$f$1.class -// ------------------------------------------ -lambda { - - // signature: invoke()V - local final fun g(): kotlin/Unit -} // Delegate.class // ------------------------------------------ public final class Delegate : kotlin/Any { diff --git a/libraries/tools/kotlinp/testData/Properties.kt b/libraries/tools/kotlinp/testData/Properties.kt index 6b7b54aac74..e43aa8d3eec 100644 --- a/libraries/tools/kotlinp/testData/Properties.kt +++ b/libraries/tools/kotlinp/testData/Properties.kt @@ -8,5 +8,7 @@ class C(val constructorParam: String = "") { val T.delegated: List by null + val withOptimizedDelegate by C::getterOnlyVal + operator fun Nothing?.getValue(x: Any?, y: Any?) = emptyList() } diff --git a/libraries/tools/kotlinp/testData/Properties.txt b/libraries/tools/kotlinp/testData/Properties.txt index 297e7cd8340..0ea3ff5a2ec 100644 --- a/libraries/tools/kotlinp/testData/Properties.txt +++ b/libraries/tools/kotlinp/testData/Properties.txt @@ -30,6 +30,11 @@ public final class C : kotlin/Any { public final get public final set + // getter: getWithOptimizedDelegate()D + // synthetic method for delegate: getWithOptimizedDelegate$delegate(LC;)Ljava/lang/Object; + public final /* delegated */ val withOptimizedDelegate: kotlin/Double + public final /* non-default */ get + // field: delegated$delegate:Ljava/lang/Void; // getter: getDelegated(Ljava/lang/Number;)Ljava/util/List; public final /* delegated */ val T#0.delegated: kotlin/collections/List