Refactor DelegationResolver so that lazy and eager resolve share the code

Also fix an exception in LazyClassMemberScope
This commit is contained in:
Pavel V. Talanov
2013-09-17 13:54:41 +04:00
parent 6fb7a79a1f
commit 1a3603652c
7 changed files with 179 additions and 72 deletions
@@ -0,0 +1,13 @@
package test
trait X {
fun foo()
}
trait Y : X {
}
class B(val a: X) : X by a, Y {
override fun foo() {
}
}
@@ -0,0 +1,16 @@
package test
internal final class B : test.X, test.Y {
/*primary*/ public constructor B(/*0*/ a: test.X)
internal final val a: test.X
internal final fun <get-a>(): test.X
internal open override /*2*/ fun foo(): jet.Unit
}
internal trait X {
internal abstract fun foo(): jet.Unit
}
internal trait Y : test.X {
internal abstract override /*1*/ /*fake_override*/ fun foo(): jet.Unit
}