[JS][tests] Support FIR for KLIB evolution tests
This commit is contained in:
committed by
Space Team
parent
5970cfff75
commit
b08d805f1e
+13
-6
@@ -52,12 +52,19 @@ abstract class AbstractKlibBinaryCompatibilityTest : KotlinTestWithEnvironment()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun doTest(filePath: String, expectedResult: String) = doTest(
|
open fun isIgnoredTest(filePath: String): Boolean = false
|
||||||
filePath,
|
|
||||||
expectedResult,
|
fun doTest(filePath: String, expectedResult: String) {
|
||||||
produceKlib = ::produceKlib,
|
if (isIgnoredTest(filePath))
|
||||||
produceAndRunProgram = ::produceAndRunProgram,
|
return
|
||||||
)
|
|
||||||
|
doTest(
|
||||||
|
filePath,
|
||||||
|
expectedResult,
|
||||||
|
produceKlib = ::produceKlib,
|
||||||
|
produceAndRunProgram = ::produceAndRunProgram,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
abstract fun produceKlib(module: TestModule, version: Int)
|
abstract fun produceKlib(module: TestModule, version: Int)
|
||||||
abstract fun produceProgram(module: TestModule)
|
abstract fun produceProgram(module: TestModule)
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ import org.jetbrains.kotlin.js.test.ir.*
|
|||||||
import org.jetbrains.kotlin.js.testOld.AbstractDceTest
|
import org.jetbrains.kotlin.js.testOld.AbstractDceTest
|
||||||
import org.jetbrains.kotlin.test.TargetBackend
|
import org.jetbrains.kotlin.test.TargetBackend
|
||||||
import org.jetbrains.kotlin.js.test.fir.AbstractFirLightTreeJsIrTextTest
|
import org.jetbrains.kotlin.js.test.fir.AbstractFirLightTreeJsIrTextTest
|
||||||
import org.jetbrains.kotlin.js.testOld.klib.AbstractJsKlibEvolutionTest
|
import org.jetbrains.kotlin.js.testOld.klib.AbstractClassicJsKlibEvolutionTest
|
||||||
|
import org.jetbrains.kotlin.js.testOld.klib.AbstractFirJsKlibEvolutionTest
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
System.setProperty("java.awt.headless", "true")
|
System.setProperty("java.awt.headless", "true")
|
||||||
@@ -68,7 +69,10 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
testGroup("js/js.tests/tests-gen", "compiler/testData/binaryCompatibility", testRunnerMethodName = "runTest0") {
|
testGroup("js/js.tests/tests-gen", "compiler/testData/binaryCompatibility", testRunnerMethodName = "runTest0") {
|
||||||
testClass<AbstractJsKlibEvolutionTest> {
|
testClass<AbstractClassicJsKlibEvolutionTest> {
|
||||||
|
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
|
||||||
|
}
|
||||||
|
testClass<AbstractFirJsKlibEvolutionTest> {
|
||||||
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
|
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+34
-4
@@ -15,11 +15,32 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
|||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.js.testOld.V8JsTestChecker
|
import org.jetbrains.kotlin.js.testOld.V8JsTestChecker
|
||||||
|
import org.jetbrains.kotlin.js.testOld.klib.AbstractJsKlibEvolutionTest.Companion.klib
|
||||||
import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION
|
import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION
|
||||||
|
import org.jetbrains.kotlin.test.Directives
|
||||||
import org.jetbrains.kotlin.test.KotlinBaseTest
|
import org.jetbrains.kotlin.test.KotlinBaseTest
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
abstract class AbstractJsKlibEvolutionTest : AbstractKlibBinaryCompatibilityTest() {
|
abstract class AbstractClassicJsKlibEvolutionTest : AbstractJsKlibEvolutionTest(CompilerType.K1)
|
||||||
|
abstract class AbstractFirJsKlibEvolutionTest : AbstractJsKlibEvolutionTest(CompilerType.K2) {
|
||||||
|
// TODO: unmute after fixing KT-57711
|
||||||
|
override fun isIgnoredTest(filePath: String): Boolean {
|
||||||
|
val fileName = filePath.substringAfterLast('/')
|
||||||
|
return fileName == "addOrRemoveConst.kt" || fileName == "changeConstInitialization.kt"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractJsKlibEvolutionTest(val compilerType: CompilerType) : AbstractKlibBinaryCompatibilityTest() {
|
||||||
|
enum class CompilerType {
|
||||||
|
K1,
|
||||||
|
K2 {
|
||||||
|
override fun setup(args: K2JSCompilerArguments) {
|
||||||
|
args.languageVersion = "2.0" // Activate FIR.
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
open fun setup(args: K2JSCompilerArguments) = Unit
|
||||||
|
}
|
||||||
|
|
||||||
override fun createEnvironment() =
|
override fun createEnvironment() =
|
||||||
KotlinCoreEnvironment.createForTests(testRootDisposable, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
|
KotlinCoreEnvironment.createForTests(testRootDisposable, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
|
||||||
@@ -61,10 +82,11 @@ abstract class AbstractJsKlibEvolutionTest : AbstractKlibBinaryCompatibilityTest
|
|||||||
file.absolutePath
|
file.absolutePath
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun runnerFunctionFile(): String {
|
private fun runnerFunctionFile(): Pair<String, File> {
|
||||||
val file = File(workingDir, RUNNER_FUNCTION_FILE)
|
val file = File(workingDir, RUNNER_FUNCTION_FILE)
|
||||||
|
val text = runnerFileText
|
||||||
file.writeText(runnerFileText)
|
file.writeText(runnerFileText)
|
||||||
return file.absolutePath
|
return text to file
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun produceKlib(module: TestModule, version: Int) {
|
override fun produceKlib(module: TestModule, version: Int) {
|
||||||
@@ -76,20 +98,28 @@ abstract class AbstractJsKlibEvolutionTest : AbstractKlibBinaryCompatibilityTest
|
|||||||
irProduceKlibFile = true
|
irProduceKlibFile = true
|
||||||
irOnly = true
|
irOnly = true
|
||||||
irModuleName = module.name
|
irModuleName = module.name
|
||||||
|
compilerType.setup(this)
|
||||||
}
|
}
|
||||||
K2JSCompiler().exec(TestMessageCollector(), Services.EMPTY, args)
|
K2JSCompiler().exec(TestMessageCollector(), Services.EMPTY, args)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun produceProgram(module: TestModule) {
|
override fun produceProgram(module: TestModule) {
|
||||||
assert(!module.hasVersions)
|
assert(!module.hasVersions)
|
||||||
|
|
||||||
|
val (text, file) = runnerFunctionFile()
|
||||||
|
TestFile(module, file.name, text, Directives())
|
||||||
|
|
||||||
|
produceKlib(module, version = 2)
|
||||||
|
|
||||||
val args = K2JSCompilerArguments().apply {
|
val args = K2JSCompilerArguments().apply {
|
||||||
freeArgs = createFiles(module.files) + runnerFunctionFile()
|
|
||||||
libraries = module.dependenciesToLibrariesArg(version = 2)
|
libraries = module.dependenciesToLibrariesArg(version = 2)
|
||||||
|
includes = File(workingDir, module.name(version = 2).klib).absolutePath
|
||||||
outputDir = jsOutDir.normalize().absolutePath
|
outputDir = jsOutDir.normalize().absolutePath
|
||||||
moduleName = module.name
|
moduleName = module.name
|
||||||
irProduceJs = true
|
irProduceJs = true
|
||||||
irOnly = true
|
irOnly = true
|
||||||
irModuleName = module.name
|
irModuleName = module.name
|
||||||
|
compilerType.setup(this)
|
||||||
}
|
}
|
||||||
K2JSCompiler().exec(TestMessageCollector(), Services.EMPTY, args)
|
K2JSCompiler().exec(TestMessageCollector(), Services.EMPTY, args)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ import java.util.regex.Pattern;
|
|||||||
@TestMetadata("compiler/testData/binaryCompatibility/klibEvolution")
|
@TestMetadata("compiler/testData/binaryCompatibility/klibEvolution")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public class JsKlibEvolutionTestGenerated extends AbstractJsKlibEvolutionTest {
|
public class ClassicJsKlibEvolutionTestGenerated extends AbstractClassicJsKlibEvolutionTest {
|
||||||
private void runTest(String testDataFilePath) throws Exception {
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR, testDataFilePath);
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR, testDataFilePath);
|
||||||
}
|
}
|
||||||
Generated
+227
@@ -0,0 +1,227 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 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.js.testOld.klib;
|
||||||
|
|
||||||
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||||
|
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||||
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.jetbrains.kotlin.test.TargetBackend;
|
||||||
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */
|
||||||
|
@SuppressWarnings("all")
|
||||||
|
@TestMetadata("compiler/testData/binaryCompatibility/klibEvolution")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public class FirJsKlibEvolutionTestGenerated extends AbstractFirJsKlibEvolutionTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addAbstractMemberBody.kt")
|
||||||
|
public void testAddAbstractMemberBody() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addAbstractMemberBody.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addCompanionObject.kt")
|
||||||
|
public void testAddCompanionObject() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addCompanionObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addDefaultImplementations.kt")
|
||||||
|
public void testAddDefaultImplementations() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addDefaultImplementations.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addEnumClassMember.kt")
|
||||||
|
public void testAddEnumClassMember() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addEnumClassMember.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addLateinitToVar.kt")
|
||||||
|
public void testAddLateinitToVar() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addLateinitToVar.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addOpenToClass.kt")
|
||||||
|
public void testAddOpenToClass() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addOpenToClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addOpenToMember.kt")
|
||||||
|
public void testAddOpenToMember() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addOpenToMember.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addOrRemoveConst.kt")
|
||||||
|
public void testAddOrRemoveConst() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addOrRemoveConst.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addOrRemoveInitBlock.kt")
|
||||||
|
public void testAddOrRemoveInitBlock() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addOrRemoveInitBlock.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addOverloads.kt")
|
||||||
|
public void testAddOverloads() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addOverloads.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addParameterDefaulValue.kt")
|
||||||
|
public void testAddParameterDefaulValue() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addParameterDefaulValue.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addPropertyAccessor.kt")
|
||||||
|
public void testAddPropertyAccessor() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addPropertyAccessor.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addingSealedClassMember.kt")
|
||||||
|
public void testAddingSealedClassMember() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/addingSealedClassMember.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKlibEvolution() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/binaryCompatibility/klibEvolution"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeBaseClassOrder.kt")
|
||||||
|
public void testChangeBaseClassOrder() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeBaseClassOrder.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeCompanionToNestedObject.kt")
|
||||||
|
public void testChangeCompanionToNestedObject() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeCompanionToNestedObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeConstInitialization.kt")
|
||||||
|
public void testChangeConstInitialization() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeConstInitialization.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeNamesOfTypeParameters.kt")
|
||||||
|
public void testChangeNamesOfTypeParameters() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeNamesOfTypeParameters.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeObjectToCompanion.kt")
|
||||||
|
public void testChangeObjectToCompanion() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeObjectToCompanion.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changeParameterDefaultValue.kt")
|
||||||
|
public void testChangeParameterDefaultValue() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changeParameterDefaultValue.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changePropertyFromValToVar.kt")
|
||||||
|
public void testChangePropertyFromValToVar() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changePropertyFromValToVar.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("changePropertyInitialization.kt")
|
||||||
|
public void testChangePropertyInitialization() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/changePropertyInitialization.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("constructorParameterMarkValVar.kt")
|
||||||
|
public void testConstructorParameterMarkValVar() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/constructorParameterMarkValVar.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("deleteOverrideMember.kt")
|
||||||
|
public void testDeleteOverrideMember() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/deleteOverrideMember.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("deletePrivateMembers.kt")
|
||||||
|
public void testDeletePrivateMembers() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/deletePrivateMembers.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineBodyChange.kt")
|
||||||
|
public void testInlineBodyChange() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/inlineBodyChange.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineFunction.kt")
|
||||||
|
public void testInlineFunction() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/inlineFunction.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("makeFunctionInfixOrTailrec.kt")
|
||||||
|
public void testMakeFunctionInfixOrTailrec() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/makeFunctionInfixOrTailrec.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("moreSpecificBaseClass.kt")
|
||||||
|
public void testMoreSpecificBaseClass() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/moreSpecificBaseClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("moveMemberUpInHierarchy.kt")
|
||||||
|
public void testMoveMemberUpInHierarchy() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/moveMemberUpInHierarchy.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("newFakeOverride.kt")
|
||||||
|
public void testNewFakeOverride() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/newFakeOverride.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("newOverrideMember.kt")
|
||||||
|
public void testNewOverrideMember() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/newOverrideMember.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("removeAbstractFromClass.kt")
|
||||||
|
public void testRemoveAbstractFromClass() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/removeAbstractFromClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("removeInfixOrTailrecFromFunction.kt")
|
||||||
|
public void testRemoveInfixOrTailrecFromFunction() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/removeInfixOrTailrecFromFunction.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("removeLateinitFromVar.kt")
|
||||||
|
public void testRemoveLateinitFromVar() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/removeLateinitFromVar.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("removePropertyAccessor.kt")
|
||||||
|
public void testRemovePropertyAccessor() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/removePropertyAccessor.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("renameArguments.kt")
|
||||||
|
public void testRenameArguments() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/renameArguments.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("reorderClassConstructors.kt")
|
||||||
|
public void testReorderClassConstructors() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/reorderClassConstructors.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("turnClassIntoDataClass.kt")
|
||||||
|
public void testTurnClassIntoDataClass() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/turnClassIntoDataClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("widenSuperMemberVisibility.kt")
|
||||||
|
public void testWidenSuperMemberVisibility() throws Exception {
|
||||||
|
runTest("compiler/testData/binaryCompatibility/klibEvolution/widenSuperMemberVisibility.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user