Refactor ImplementationBodyCodegen.getTraitImplementations()

Make it static, extract a method which finds an implementation in a trait for a
fake override
This commit is contained in:
Alexander Udalov
2014-04-08 18:37:02 +04:00
parent 5967befa6a
commit fc838dbb53
16 changed files with 145 additions and 105 deletions
@@ -0,0 +1,19 @@
abstract class Base<T> {
abstract var s: T
}
trait Trait<T> : Base<T> {
var value : T
get() = s
set(value) { s = value }
}
class Derived : Trait<String>, Base<String>() {
override var s = "Fail"
}
fun box(): String {
val d = Derived()
d.value = "OK"
return d.value
}