Unwrap fake override of original
This fixes a couple of verify errors related to the order of supertypes in the class declaration
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
trait T {
|
||||
fun foo(): Unit
|
||||
}
|
||||
|
||||
open class A : T {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
trait B : T
|
||||
|
||||
class C : A(), B
|
||||
class D : B, A()
|
||||
class E : A(), B, T
|
||||
class F : B, A(), T
|
||||
class G : A(), T, B
|
||||
class H : B, T, A()
|
||||
class I : T, A(), B
|
||||
class J : T, B, A()
|
||||
|
||||
fun box(): String {
|
||||
C().foo()
|
||||
D().foo()
|
||||
E().foo()
|
||||
F().foo()
|
||||
G().foo()
|
||||
H().foo()
|
||||
I().foo()
|
||||
J().foo()
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
trait T {
|
||||
fun foo(): Unit
|
||||
}
|
||||
|
||||
open class A : T {
|
||||
override fun foo(): Unit {}
|
||||
}
|
||||
|
||||
class B : A(), T
|
||||
class C : T, A()
|
||||
|
||||
trait U : T
|
||||
class D : U, A()
|
||||
class E : A(), U
|
||||
class F : U, T, A()
|
||||
class G : T, U, A()
|
||||
class H : U, A(), T
|
||||
class I : T, A(), U
|
||||
class J : A(), U, T
|
||||
class K : A(), T, U
|
||||
|
||||
fun box(): String {
|
||||
B().foo()
|
||||
C().foo()
|
||||
D().foo()
|
||||
E().foo()
|
||||
F().foo()
|
||||
G().foo()
|
||||
H().foo()
|
||||
I().foo()
|
||||
J().foo()
|
||||
K().foo()
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
trait T {
|
||||
val foo: String
|
||||
}
|
||||
|
||||
open class A : T {
|
||||
override val foo: String = ""
|
||||
}
|
||||
|
||||
class B : A(), T
|
||||
class C : T, A()
|
||||
|
||||
trait U : T
|
||||
|
||||
class D : U, A()
|
||||
class E : A(), U
|
||||
class F : U, T, A()
|
||||
class G : T, U, A()
|
||||
class H : U, A(), T
|
||||
class I : T, A(), U
|
||||
class J : A(), U, T
|
||||
class K : A(), T, U
|
||||
|
||||
fun box(): String {
|
||||
B().foo
|
||||
C().foo
|
||||
|
||||
D().foo
|
||||
E().foo
|
||||
F().foo
|
||||
G().foo
|
||||
H().foo
|
||||
I().foo
|
||||
J().foo
|
||||
K().foo
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
trait T {
|
||||
var result: String
|
||||
}
|
||||
|
||||
open class A : T {
|
||||
override var result: String
|
||||
get() = ""
|
||||
set(value) {}
|
||||
}
|
||||
|
||||
class B : A(), T
|
||||
class C : T, A()
|
||||
|
||||
fun box(): String {
|
||||
B().result = ""
|
||||
C().result = ""
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user