[Fir2IR] Don't build overrides for expect classes.
We don't need them except for checking. And checking doesn't work in any reasonable way anyway. ^KT-65249 Fixed
This commit is contained in:
committed by
Space Team
parent
baaaf4567e
commit
8d725753f8
+6
@@ -38301,6 +38301,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
+6
@@ -38301,6 +38301,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
@@ -193,8 +193,16 @@ private fun IrFakeOverrideBuilder.buildForAll(
|
|||||||
element.acceptChildrenVoid(this)
|
element.acceptChildrenVoid(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun isIgnoredClass(declaration: IrClass) : Boolean {
|
||||||
|
return when {
|
||||||
|
declaration.isExpect -> true
|
||||||
|
declaration.metadata is MetadataSource.CodeFragment -> true
|
||||||
|
else -> false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitClass(declaration: IrClass) {
|
override fun visitClass(declaration: IrClass) {
|
||||||
if (declaration.metadata !is MetadataSource.CodeFragment) {
|
if (!isIgnoredClass(declaration)) {
|
||||||
buildFakeOverrides(declaration)
|
buildFakeOverrides(declaration)
|
||||||
}
|
}
|
||||||
declaration.acceptChildrenVoid(this)
|
declaration.acceptChildrenVoid(this)
|
||||||
|
|||||||
+6
@@ -38146,6 +38146,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
+6
@@ -38146,6 +38146,12 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
+6
@@ -38146,6 +38146,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
// LANGUAGE: +MultiPlatformProjects
|
||||||
|
// MODULE: common
|
||||||
|
// FILE: common.kt
|
||||||
|
|
||||||
|
interface Source {
|
||||||
|
fun read(sink: Buffer): String
|
||||||
|
}
|
||||||
|
|
||||||
|
expect class Buffer()
|
||||||
|
|
||||||
|
expect abstract class ForwardingSource: Source {
|
||||||
|
override fun read(sink: Buffer): String
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: jvm()()(common)
|
||||||
|
// FILE: platfrom.kt
|
||||||
|
|
||||||
|
actual class Buffer actual constructor()
|
||||||
|
|
||||||
|
actual abstract class ForwardingSource : Source {
|
||||||
|
actual override fun read(sink: Buffer): String = "OK"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() : String{
|
||||||
|
return (object : ForwardingSource() {}).read(Buffer())
|
||||||
|
}
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base {
|
|||||||
open fun <T> foo(t: T) {}
|
open fun <T> foo(t: T) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open fun <T> foo(t: T) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override fun <R> <!ACTUAL_WITHOUT_EXPECT!>foo<!>(t: R) {}
|
|
||||||
}
|
|
||||||
+2
-2
@@ -7,8 +7,8 @@ open class Base {
|
|||||||
open lateinit var green: String
|
open lateinit var green: String
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base {
|
expect open class Foo : Base {
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-20
@@ -1,20 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open var red1: String = ""
|
|
||||||
open lateinit var red2: String
|
|
||||||
open lateinit var green: String
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base {
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override lateinit var <!ACTUAL_WITHOUT_EXPECT!>red1<!>: String
|
|
||||||
override var <!ACTUAL_WITHOUT_EXPECT!>red2<!>: String = ""
|
|
||||||
override lateinit var green: String
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ interface Base {
|
|||||||
fun foo()
|
fun foo()
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!> : Base<!>
|
expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!> : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
interface Base {
|
|
||||||
fun foo()
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!> : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base {
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>() {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
interface Base {
|
interface Base {
|
||||||
fun foo()
|
fun foo()
|
||||||
}
|
}
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!>() : Base<!>
|
expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!>() : Base
|
||||||
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
|
|||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
interface Base {
|
|
||||||
fun foo()
|
|
||||||
}
|
|
||||||
expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!>() : Base
|
|
||||||
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
// Mismatched scope must be reported here. But it's false negative checker in K1.
|
|
||||||
// For some reason, K1 says that modality of `exect_Foo.foo` is `abstract`.
|
|
||||||
// https://youtrack.jetbrains.com/issue/KT-59739
|
|
||||||
actual open class Foo : Base {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>() {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
interface Base {
|
interface Base {
|
||||||
fun foo() {}
|
fun foo() {}
|
||||||
}
|
}
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect abstract class Foo() : Base<!>
|
expect abstract class Foo() : Base
|
||||||
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
|
|||||||
-14
@@ -1,14 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
interface Base {
|
|
||||||
fun foo() {}
|
|
||||||
}
|
|
||||||
expect abstract class Foo() : Base
|
|
||||||
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual abstract class Foo : Base {
|
|
||||||
abstract override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>()
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base {
|
|||||||
open fun foo() {}
|
open fun foo() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open fun foo() {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>() {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base<T> {
|
|||||||
open fun foo(t: T) {}
|
open fun foo(t: T) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<String><!>
|
expect open class Foo : Base<String>
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base<T> {
|
|
||||||
open fun foo(t: T) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base<String>
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base<String>() {
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(t: String) {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo<!>
|
expect open class Foo
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect open class Foo
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo {
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>toString<!>() = "Foo"
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base {
|
|||||||
open fun foo(param: Int) {}
|
open fun foo(param: Int) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo1 : Base<!>
|
expect open class Foo1 : Base
|
||||||
expect open class Foo2 : Base
|
expect open class Foo2 : Base
|
||||||
expect open class Foo3 {
|
expect open class Foo3 {
|
||||||
open fun foo(param: Int)
|
open fun foo(param: Int)
|
||||||
|
|||||||
-34
@@ -1,34 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open fun foo(param: Int) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo1 : Base
|
|
||||||
expect open class Foo2 : Base
|
|
||||||
expect open class Foo3 {
|
|
||||||
open fun foo(param: Int)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo1 : Base() {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(paramNameChanged: Int) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
actual typealias Foo2 = Foo2Java
|
|
||||||
actual typealias Foo3 = Foo3Java
|
|
||||||
|
|
||||||
// FILE: Foo2Java.java
|
|
||||||
|
|
||||||
public class Foo2Java extends Base {
|
|
||||||
@Override
|
|
||||||
public void foo(int paramNameChanged) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: Foo3Java.java
|
|
||||||
public class Foo3Java {
|
|
||||||
public void foo(int paramNameChanged) {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -6,7 +6,7 @@ open class Base {
|
|||||||
protected set
|
protected set
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open var foo: String = ""
|
|
||||||
protected set
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override var <!ACTUAL_WITHOUT_EXPECT!>foo<!>: String = ""
|
|
||||||
public set
|
|
||||||
}
|
|
||||||
+2
-2
@@ -5,8 +5,8 @@ open class Base {
|
|||||||
open fun foo(vararg bar: Int) {}
|
open fun foo(vararg bar: Int) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base {
|
expect open class Foo : Base {
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-16
@@ -1,16 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open fun foo(vararg bar: Int) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base {
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(bar: IntArray) {}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base {
|
|||||||
protected open fun foo() {}
|
protected open fun foo() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
protected open fun foo() {}
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
public override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>() {}
|
|
||||||
}
|
|
||||||
+2
-2
@@ -6,8 +6,8 @@ open class Base {
|
|||||||
open fun foo(): Any = ""
|
open fun foo(): Any = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base {
|
expect open class Foo : Base {
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open val foo: String = ""
|
|
||||||
open fun foo(): Any = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base {
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(): String = ""
|
|
||||||
}
|
|
||||||
+2
-2
@@ -7,8 +7,8 @@ open class Base {
|
|||||||
open fun foo(): I = null!!
|
open fun foo(): I = null!!
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo<T : I> : Base {
|
expect open class Foo<T : I> : Base {
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
interface I
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open fun foo(): I = null!!
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo<T : I> : Base {
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo<T : I> : Base() {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(): T = null!!
|
|
||||||
}
|
|
||||||
+2
-2
@@ -5,8 +5,8 @@ open class Base<R> {
|
|||||||
open fun foo(): R = null!!
|
open fun foo(): R = null!!
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo<R, T : R> : Base<R> {
|
expect open class Foo<R, T : R> : Base<R> {
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-16
@@ -1,16 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base<R> {
|
|
||||||
open fun foo(): R = null!!
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo<R, T : R> : Base<R> {
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo<E, F : E> : Base<E>() {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(): F = null!!
|
|
||||||
}
|
|
||||||
+1
-1
@@ -6,7 +6,7 @@ open class Base {
|
|||||||
open fun foo(): String = ""
|
open fun foo(): String = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-16
@@ -1,16 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open val foo: Any = ""
|
|
||||||
open fun foo(): String = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override val <!ACTUAL_WITHOUT_EXPECT!>foo<!>: String = ""
|
|
||||||
}
|
|
||||||
+2
-2
@@ -5,9 +5,9 @@ expect open class Base {
|
|||||||
open fun foo(): MutableList<String>
|
open fun foo(): MutableList<String>
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base {
|
expect open class Foo : Base {
|
||||||
|
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-33
@@ -1,33 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect open class Base {
|
|
||||||
open fun foo(): MutableList<String>
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual typealias Base = BaseJava
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
// K1 doesn't report a diagnostic here because when it compares scopes it sees flexible type
|
|
||||||
// K2 will likely report a diagnostic here
|
|
||||||
// I don't think we can fix this 'K1 green -> K2 red'. It must be a rare case anyway.
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>foo<!>(): List<String> {
|
|
||||||
return super.foo()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: BaseJava.java
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class BaseJava {
|
|
||||||
public List<String> foo() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ open class Base {
|
|||||||
open val foo: Int = 1
|
open val foo: Int = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base<!>
|
expect open class Foo : Base
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base {
|
|
||||||
open val foo: Int = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
override var <!ACTUAL_WITHOUT_EXPECT!>foo<!>: Int = 1
|
|
||||||
}
|
|
||||||
+2
-2
@@ -8,10 +8,10 @@ open class Base() {
|
|||||||
protected open fun overrideVisibility(): Any = ""
|
protected open fun overrideVisibility(): Any = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Base {
|
expect open class Foo : Base {
|
||||||
fun existingMethod()
|
fun existingMethod()
|
||||||
val existingParam: Int
|
val existingParam: Int
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-29
@@ -1,29 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
open class Base() {
|
|
||||||
open fun overrideReturnType(): Any = ""
|
|
||||||
open fun overrideModality1(): Any = ""
|
|
||||||
open fun overrideModality2(): Any = ""
|
|
||||||
protected open fun overrideVisibility(): Any = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
expect open class Foo : Base {
|
|
||||||
fun existingMethod()
|
|
||||||
val existingParam: Int
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Foo : Base() {
|
|
||||||
actual fun existingMethod() {}
|
|
||||||
actual val existingParam: Int = 904
|
|
||||||
|
|
||||||
fun injectedMethod() {}
|
|
||||||
val injectedProperty: Int = 42
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>overrideReturnType<!>(): String = ""
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>overrideModality1<!>(): Any = ""
|
|
||||||
final override fun <!ACTUAL_WITHOUT_EXPECT!>overrideModality2<!>(): Any = ""
|
|
||||||
public override fun <!ACTUAL_WITHOUT_EXPECT!>overrideVisibility<!>(): Any = ""
|
|
||||||
}
|
|
||||||
+2
-2
@@ -10,10 +10,10 @@ expect open class Base<T>() {
|
|||||||
|
|
||||||
open class Transitive : Base<String>()
|
open class Transitive : Base<String>()
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect open class Foo : Transitive {
|
expect open class Foo : Transitive {
|
||||||
fun existingMethod()
|
fun existingMethod()
|
||||||
val existingParam: Int
|
val existingParam: Int
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-31
@@ -1,31 +0,0 @@
|
|||||||
// FIR status: KT-65249 K2: False positive modality is different for native compilation
|
|
||||||
|
|
||||||
// WITH_STDLIB
|
|
||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect open class Base<T>() {
|
|
||||||
fun existingMethodInBase(param: T)
|
|
||||||
}
|
|
||||||
|
|
||||||
open class Transitive : Base<String>()
|
|
||||||
|
|
||||||
expect open class Foo : Transitive {
|
|
||||||
fun existingMethod()
|
|
||||||
val existingParam: Int
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
actual open class Base<T> {
|
|
||||||
actual fun existingMethodInBase(param: T) {}
|
|
||||||
open fun injected(param: T): Any = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
actual open class Foo : Transitive() {
|
|
||||||
actual fun existingMethod() {}
|
|
||||||
actual val existingParam: Int = 904
|
|
||||||
|
|
||||||
override fun injected(param: String): String = "" // covariant override
|
|
||||||
}
|
|
||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect enum class En {
|
|
||||||
E1,
|
|
||||||
<!EXPECTED_ENUM_ENTRY_WITH_BODY!>E2 {
|
|
||||||
<!EXPECTED_DECLARATION_WITH_BODY!>fun foo()<!> = ""
|
|
||||||
},<!>
|
|
||||||
<!EXPECTED_ENUM_ENTRY_WITH_BODY!>E3 { };<!>
|
|
||||||
}<!>
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
|
|||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect enum class En {
|
|
||||||
E1,
|
|
||||||
<!EXPECTED_ENUM_ENTRY_WITH_BODY!>E2 {
|
|
||||||
<!EXPECTED_DECLARATION_WITH_BODY!>fun foo()<!> = ""
|
|
||||||
},<!>
|
|
||||||
<!EXPECTED_ENUM_ENTRY_WITH_BODY!>E3 { };<!>
|
|
||||||
}
|
|
||||||
compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.fir.kt
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>expect interface Base<!>
|
expect interface Base
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
// MODULE: m1-jvm()()(m1-common)
|
||||||
actual interface Base {
|
actual interface Base {
|
||||||
|
|||||||
Vendored
-7
@@ -1,7 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
expect interface Base
|
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
|
||||||
actual interface Base {
|
|
||||||
override fun <!ACTUAL_WITHOUT_EXPECT!>equals<!>(other: Any?): Boolean
|
|
||||||
}
|
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// MODULE: common
|
// MODULE: common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
expect class <!PACKAGE_OR_CLASSIFIER_REDECLARATION!>Foo<!>
|
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class <!PACKAGE_OR_CLASSIFIER_REDECLARATION!>Foo<!><!>
|
||||||
|
|
||||||
// MODULE: main()()(common)
|
// MODULE: main()()(common)
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
expect class Foo
|
<!NO_ACTUAL_FOR_EXPECT!>expect class Foo<!>
|
||||||
|
|||||||
+2
-3
@@ -2,10 +2,9 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
// K2: false positve INCOMPATIBLE_MATCHING: KT-60155
|
public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, EXPECT_ACTUAL_INCOMPATIBILITY{JVM}!>public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
|
||||||
override val values: MutableCollection<V>
|
override val values: MutableCollection<V>
|
||||||
}<!>
|
}
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
// MODULE: m2-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
Vendored
-1
@@ -2,7 +2,6 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
// K2: false positve INCOMPATIBLE_MATCHING: KT-60155
|
|
||||||
public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
||||||
override val values: MutableCollection<V>
|
override val values: MutableCollection<V>
|
||||||
}
|
}
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
// WITH_STDLIB
|
|
||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
// K2: false positve INCOMPATIBLE_MATCHING: KT-60155
|
|
||||||
public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
|
||||||
override val values: MutableCollection<V>
|
|
||||||
}
|
|
||||||
|
|
||||||
// MODULE: m2-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
import java.util.AbstractMap
|
|
||||||
|
|
||||||
public actual abstract class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>AbstractMutableMap<!><K, V>() : MutableMap<K, V>, AbstractMap<K, V>()
|
|
||||||
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E01<!>
|
expect class E01
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E02<!>
|
expect class E02
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
// MODULE: m1-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-13
@@ -1,13 +0,0 @@
|
|||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect class E01
|
|
||||||
expect class E02
|
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
typealias MyNothing = Nothing
|
|
||||||
|
|
||||||
<!ACTUAL_TYPE_ALIAS_TO_NOTHING!>actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E01<!> = Nothing<!>
|
|
||||||
<!ACTUAL_TYPE_ALIAS_NOT_TO_CLASS!>actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E02<!> = MyNothing<!>
|
|
||||||
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
// MODULE: m1-common
|
// MODULE: m1-common
|
||||||
// FILE: common.kt
|
// FILE: common.kt
|
||||||
|
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E01<!>
|
expect class E01
|
||||||
<!EXPECT_ACTUAL_INCOMPATIBILITY{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E02<!>
|
expect class E02
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
// MODULE: m1-jvm()()(m1-common)
|
||||||
// FILE: jvm.kt
|
// FILE: jvm.kt
|
||||||
|
|||||||
-14
@@ -1,14 +0,0 @@
|
|||||||
// LANGUAGE: -MultiplatformRestrictions
|
|
||||||
// MODULE: m1-common
|
|
||||||
// FILE: common.kt
|
|
||||||
|
|
||||||
expect class E01
|
|
||||||
expect class E02
|
|
||||||
|
|
||||||
// MODULE: m1-jvm()()(m1-common)
|
|
||||||
// FILE: jvm.kt
|
|
||||||
|
|
||||||
typealias MyNothing = Nothing
|
|
||||||
|
|
||||||
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E01<!> = Nothing
|
|
||||||
<!ACTUAL_TYPE_ALIAS_NOT_TO_CLASS!>actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>E02<!> = MyNothing<!>
|
|
||||||
+6
@@ -27394,6 +27394,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
Generated
+6
@@ -27394,6 +27394,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
+6
@@ -30465,6 +30465,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
+6
@@ -31149,6 +31149,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
Generated
+6
@@ -27364,6 +27364,12 @@ public class FirWasmJsCodegenBoxTestGenerated extends AbstractFirWasmJsCodegenBo
|
|||||||
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt-65249.kt")
|
||||||
|
public void testKt_65249() {
|
||||||
|
runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("mergedOverrides.kt")
|
@TestMetadata("mergedOverrides.kt")
|
||||||
public void testMergedOverrides() {
|
public void testMergedOverrides() {
|
||||||
|
|||||||
Reference in New Issue
Block a user