Drop traits with required classes

#KT-4771 Rejected
This commit is contained in:
Alexander Udalov
2015-06-16 23:40:25 +03:00
parent dc909ba1d4
commit 1a3209e1dc
63 changed files with 49 additions and 1109 deletions
@@ -1,23 +0,0 @@
package test
abstract class A {
abstract fun foo()
}
interface X : A {
fun bar() {
}
}
open class B() : A() {
override fun foo() {
}
}
class C() : A(), X {
override fun foo() {
}
}
class D(val c: C) : B(), X by c {
}
@@ -1,30 +0,0 @@
package test
internal abstract class A {
/*primary*/ public constructor A()
internal abstract fun foo(): kotlin.Unit
}
internal open class B : test.A {
/*primary*/ public constructor B()
internal open override /*1*/ fun foo(): kotlin.Unit
}
internal final class C : test.A, test.X {
/*primary*/ public constructor C()
internal open override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
internal open override /*2*/ fun foo(): kotlin.Unit
}
internal final class D : test.B, test.X {
/*primary*/ public constructor D(/*0*/ c: test.C)
internal final val c: test.C
internal final fun <get-c>(): test.C
internal open override /*1*/ /*delegation*/ fun bar(): kotlin.Unit
internal open override /*2*/ /*fake_override*/ fun foo(): kotlin.Unit
}
internal interface X : test.A {
internal open fun bar(): kotlin.Unit
internal abstract override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
}