K2: prefer derived class sources for callable copies (e.g. fake overrides)
This commit is contained in:
committed by
Space Team
parent
4b2a122f80
commit
3cb9396b20
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun <T> foo(t: T) {}<!>
|
||||
open fun <T> foo(t: T) {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open var red1: String = ""<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open lateinit var red2: String<!>
|
||||
open var red1: String = ""
|
||||
open lateinit var red2: String
|
||||
open lateinit var green: String
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
interface Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>fun foo()<!>
|
||||
fun foo()
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!> : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!> : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
interface Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>fun foo()<!>
|
||||
fun foo()
|
||||
}
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!>() : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Foo<!>() : Base<!>
|
||||
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
interface Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>fun foo() {}<!>
|
||||
fun foo() {}
|
||||
}
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect abstract class Foo() : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect abstract class Foo() : Base<!>
|
||||
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo() {}<!>
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base<T> {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(t: T) {}<!>
|
||||
open fun foo(t: T) {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<String><!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<String><!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(param: Int) {}<!>
|
||||
open fun foo(param: Int) {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo1 : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo1 : Base<!>
|
||||
expect open class Foo2 : Base
|
||||
expect open class Foo3 {
|
||||
open fun foo(param: Int)
|
||||
|
||||
+3
-3
@@ -2,11 +2,11 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open var foo: String = ""
|
||||
protected set<!>
|
||||
open var foo: String = ""
|
||||
protected set
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(vararg bar: Int) {}<!>
|
||||
open fun foo(vararg bar: Int) {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>protected open fun foo() {}<!>
|
||||
protected open fun foo() {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -3,10 +3,10 @@
|
||||
|
||||
open class Base {
|
||||
open val foo: String = ""
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>open fun foo(): Any = ""<!>
|
||||
open fun foo(): Any = ""
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -4,10 +4,10 @@
|
||||
interface I
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(): I = null!!<!>
|
||||
open fun foo(): I = null!!
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<T : I> : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<T : I> : Base {
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base<R> {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(): R = null!!<!>
|
||||
open fun foo(): R = null!!
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<R, T : R> : Base<R> {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<R, T : R> : Base<R> {
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>open val foo: Any = ""<!>
|
||||
open val foo: Any = ""
|
||||
open fun foo(): String = ""
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
expect open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(): MutableList<String><!>
|
||||
open fun foo(): MutableList<String>
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
|
||||
}<!>
|
||||
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open val foo: Int = 1<!>
|
||||
open val foo: Int = 1
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
+5
-5
@@ -2,13 +2,13 @@
|
||||
// FILE: common.kt
|
||||
|
||||
open class Base() {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun overrideReturnType(): Any = ""<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun overrideModality1(): Any = ""<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>open fun overrideModality2(): Any = ""<!>
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>protected open fun overrideVisibility(): Any = ""<!>
|
||||
open fun overrideReturnType(): Any = ""
|
||||
open fun overrideModality1(): Any = ""
|
||||
open fun overrideModality2(): Any = ""
|
||||
protected open fun overrideVisibility(): Any = ""
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
|
||||
fun existingMethod()
|
||||
val existingParam: Int
|
||||
}<!>
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
interface B {
|
||||
fun getX() = 1
|
||||
}
|
||||
|
||||
interface D {
|
||||
<!ACCIDENTAL_OVERRIDE!>val x: Int<!>
|
||||
}
|
||||
|
||||
class C(d: D) : D by d, B
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
interface B {
|
||||
fun getX() = 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user