[KMP] Allow matching expect ctorless final classes to objects

both directly and via typealias.

This is a possible fix to KT-59747
This commit is contained in:
marat.akhin
2023-07-20 18:16:06 +02:00
committed by Space Team
parent 6df9ce23f7
commit ae4fab8483
30 changed files with 1273 additions and 1 deletions
@@ -347,6 +347,28 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/multiplatform/complexMatchings"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualObjectViaTypealias.kt")
public void testExpectCtorlessFinalToActualObjectViaTypealias() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObjectViaTypealias.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -347,6 +347,28 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/multiplatform/complexMatchings"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualObjectViaTypealias.kt")
public void testExpectCtorlessFinalToActualObjectViaTypealias() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObjectViaTypealias.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33417,6 +33417,28 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33950,6 +33972,28 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33417,6 +33417,28 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33950,6 +33972,28 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -86,7 +86,7 @@ object AbstractExpectActualCompatibilityChecker {
else -> error("Incorrect actual classifier for $expectClassSymbol: $actualClassLikeSymbol")
}
if (expectClassSymbol.classKind != actualClass.classKind) return Incompatible.ClassKind
if (!areCompatibleClassKinds(expectClassSymbol, actualClass)) return Incompatible.ClassKind
if (!equalBy(expectClassSymbol, actualClass) { listOf(it.isCompanion, it.isInner, it.isInline || it.isValue) }) {
return Incompatible.ClassModifiers
@@ -440,6 +440,20 @@ object AbstractExpectActualCompatibilityChecker {
return true
}
context(ExpectActualMatchingContext<*>)
private fun areCompatibleClassKinds(
expectClass: RegularClassSymbolMarker,
actualClass: RegularClassSymbolMarker,
): Boolean {
if (expectClass.classKind == actualClass.classKind) return true
if (expectClass.classKind == ClassKind.CLASS && expectClass.isFinal && expectClass.isCtorless) {
if (actualClass.classKind == ClassKind.OBJECT) return true
}
return false
}
private fun areCompatibleModalities(
expectModality: Modality?,
actualModality: Modality?,
@@ -606,4 +620,12 @@ object AbstractExpectActualCompatibilityChecker {
is TypeParameterSymbolMarker -> parameterName
else -> error("Unsupported declaration: $this")
}
context(ExpectActualMatchingContext<*>)
private val RegularClassSymbolMarker.isCtorless: Boolean
get() = getMembersForExpectClass(SpecialNames.INIT).isEmpty()
context(ExpectActualMatchingContext<*>)
private val RegularClassSymbolMarker.isFinal: Boolean
get() = modality == Modality.FINAL
}
@@ -0,0 +1,42 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K2: ANY
// FIR status: expect/actual in the same module
// also used as a workaround for no multi-module support in K1 box tests
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// FILE: actual.kt
actual object TestResult {
fun doTest(): TestResult = this
}
actual fun createTestResult(): TestResult = TestResult
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,48 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K2: ANY
// FIR status: expect/actual in the same module
// also used as a workaround for no multi-module support in K1 box tests
// TARGET_BACKEND: JS, JS_IR, JS_IR_ES6
// WITH_STDLIB
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// FILE: js.kt
import kotlin.js.Promise
class PromiseOfUnit(executor: (resolve: (Unit) -> Unit, reject: (Throwable) -> Unit) -> Unit) : Promise<Unit>(executor)
actual typealias TestResult = PromiseOfUnit
actual fun createTestResult(): TestResult = PromiseOfUnit {
resolve, reject ->
}
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,40 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K2: ANY
// FIR status: expect/actual in the same module
// also used as a workaround for no multi-module support in K1 box tests
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// FILE: actual.kt
actual typealias TestResult = Unit
actual fun createTestResult(): TestResult = TestResult
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,42 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K1: ANY
// MODULE: common
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// MODULE: actual()()(common)
// FILE: actual.kt
actual object TestResult {
fun doTest(): TestResult = this
}
actual fun createTestResult(): TestResult = TestResult
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,48 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K1: ANY
// TARGET_BACKEND: JS, JS_IR, JS_IR_ES6
// WITH_STDLIB
// MODULE: common
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// MODULE: js()()(common)
// FILE: js.kt
import kotlin.js.Promise
class PromiseOfUnit(executor: (resolve: (Unit) -> Unit, reject: (Throwable) -> Unit) -> Unit) : Promise<Unit>(executor)
actual typealias TestResult = PromiseOfUnit
actual fun createTestResult(): TestResult = PromiseOfUnit {
resolve, reject ->
}
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,40 @@
// LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K1: ANY
// MODULE: common
// FILE: common.kt
expect class TestResult
expect fun createTestResult(): TestResult
fun commonBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "c01"
if (tr.hashCode() != tr2.hashCode()) return "c02"
if (tr.toString() != tr2.toString()) return "c03"
return "O"
}
// MODULE: actual()()(common)
// FILE: actual.kt
actual typealias TestResult = Unit
actual fun createTestResult(): TestResult = TestResult
fun platformBox(): String {
val tr = createTestResult()
val tr2 = if (true) tr else createTestResult()
if (tr != tr2) return "p01"
if (tr.hashCode() != tr2.hashCode()) return "p02"
if (tr.toString() != tr2.toString()) return "p03"
return "K"
}
fun box() = commonBox() + platformBox()
@@ -0,0 +1,47 @@
// MODULE: m1-common
// FILE: common.kt
expect class E01
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E02()<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class E03<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E04 {
constructor()
}<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E05(e: E01)<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E06 {
constructor(e: E02)
}<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect interface I01<!>
expect class M01 {
fun foo()
}
<!INCOMPATIBLE_MATCHING{JVM}!>expect enum class ENUM01<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect annotation class ANNO01<!>
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual object E01
actual object <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E02<!>
actual object <!ACTUAL_WITHOUT_EXPECT!>E03<!>
actual object <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E04<!>
actual object <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E05<!>
actual object <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E06<!>
actual object <!ACTUAL_WITHOUT_EXPECT!>I01<!>
actual object M01 {
actual fun foo() {}
}
actual object <!ACTUAL_WITHOUT_EXPECT!>ENUM01<!>
actual object <!ACTUAL_WITHOUT_EXPECT!>ANNO01<!>
@@ -0,0 +1,47 @@
// MODULE: m1-common
// FILE: common.kt
expect class E01
expect class E02()
expect open class E03
expect class E04 {
constructor()
}
expect class E05(e: E01)
expect class E06 {
constructor(e: E02)
}
expect interface I01
expect class M01 {
fun foo()
}
expect enum class ENUM01
expect annotation class ANNO01
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual object E01
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> E02
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> E03
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> E04
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> E05
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> E06
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> I01
actual object M01 {
actual fun foo() {}
}
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> ENUM01
actual <!ACTUAL_WITHOUT_EXPECT!>object<!> ANNO01
@@ -0,0 +1,49 @@
// MODULE: m1-common
// FILE: common.kt
expect class E01
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E02()<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class E03<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E04 {
constructor()
}<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E05(e: E01)<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E06 {
constructor(e: E02)
}<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect interface I01<!>
expect class M01 {
fun foo()
}
<!INCOMPATIBLE_MATCHING{JVM}!>expect enum class ENUM01<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect annotation class ANNO01<!>
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
object ActualObject {
fun foo() {}
}
actual typealias E01 = ActualObject
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E02<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E03<!> = ActualObject
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E04<!> = ActualObject
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E05<!> = ActualObject
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E06<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>I01<!> = ActualObject
actual typealias M01 = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>ENUM01<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>ANNO01<!> = ActualObject
@@ -0,0 +1,49 @@
// MODULE: m1-common
// FILE: common.kt
expect class E01
expect class E02()
expect open class E03
expect class E04 {
constructor()
}
expect class E05(e: E01)
expect class E06 {
constructor(e: E02)
}
expect interface I01
expect class M01 {
fun foo()
}
expect enum class ENUM01
expect annotation class ANNO01
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
object ActualObject {
fun foo() {}
}
actual typealias E01 = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E02<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E03<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E04<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E05<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>E06<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>I01<!> = ActualObject
actual typealias M01 = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>ENUM01<!> = ActualObject
actual typealias <!ACTUAL_WITHOUT_EXPECT!>ANNO01<!> = ActualObject
@@ -23020,6 +23020,28 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/multiplatform/complexMatchings"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualObjectViaTypealias.kt")
public void testExpectCtorlessFinalToActualObjectViaTypealias() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/complexMatchings/expectCtorlessFinalToActualObjectViaTypealias.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -31773,6 +31773,28 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -32270,6 +32292,28 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33417,6 +33417,28 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33950,6 +33972,28 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33417,6 +33417,28 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33950,6 +33972,28 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -28456,6 +28456,29 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ComplexMatchings extends AbstractLightAnalysisModeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
}
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -28928,6 +28951,29 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
}
}
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ComplexMatchings extends AbstractLightAnalysisModeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
}
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -23289,6 +23289,28 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23720,6 +23742,28 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23289,6 +23289,28 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23720,6 +23742,28 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23289,6 +23289,28 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23720,6 +23742,28 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23289,6 +23289,28 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23720,6 +23742,28 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26237,6 +26237,31 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
@UseExtTestCaseGroupProvider()
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26692,6 +26717,31 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
@UseExtTestCaseGroupProvider()
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26839,6 +26839,33 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
@UseExtTestCaseGroupProvider()
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -27306,6 +27333,33 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
@UseExtTestCaseGroupProvider()
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -25937,6 +25937,30 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@UseExtTestCaseGroupProvider()
@DisabledTestsIfProperty(sourceLocations = { "compiler/testData/codegen/box/coroutines/featureIntersection/defaultExpect.kt", "compiler/testData/codegen/box/multiplatform/defaultArguments/*.kt", "compiler/testData/codegen/box/multiplatform/migratedOldTests/*.kt", "compiler/testData/codegen/boxInline/multiplatform/defaultArguments/receiversAndParametersInLambda.kt" }, property = ClassLevelProperty.TEST_MODE, propertyValue = "ONE_STAGE_MULTI_MODULE")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26386,6 +26410,30 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@UseExtTestCaseGroupProvider()
@DisabledTestsIfProperty(sourceLocations = { "compiler/testData/codegen/box/coroutines/featureIntersection/defaultExpect.kt", "compiler/testData/codegen/box/multiplatform/defaultArguments/*.kt", "compiler/testData/codegen/box/multiplatform/migratedOldTests/*.kt", "compiler/testData/codegen/boxInline/multiplatform/defaultArguments/receiversAndParametersInLambda.kt" }, property = ClassLevelProperty.TEST_MODE, propertyValue = "ONE_STAGE_MULTI_MODULE")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26238,6 +26238,31 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@UseExtTestCaseGroupProvider()
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -26693,6 +26718,31 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
@UseExtTestCaseGroupProvider()
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23037,6 +23037,28 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23468,6 +23490,28 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23037,6 +23037,28 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
runTest("compiler/testData/codegen/box/multiplatform/starImportOfExpectEnumWithActualTypeAlias.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/complexMatchings"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -23468,6 +23490,28 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/complexMatchings")
@TestDataPath("$PROJECT_ROOT")
public class ComplexMatchings {
@Test
public void testAllFilesPresentInComplexMatchings() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2/complexMatchings"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@Test
@TestMetadata("expectCtorlessFinalToActualObject.kt")
public void testExpectCtorlessFinalToActualObject() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualObject.kt");
}
@Test
@TestMetadata("expectCtorlessFinalToActualUnit.kt")
public void testExpectCtorlessFinalToActualUnit() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/complexMatchings/expectCtorlessFinalToActualUnit.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2/defaultArguments")
@TestDataPath("$PROJECT_ROOT")