Fix for MakeOverriddenMemberOpenFix

Fixes bugs which led to BindingContextUtils#descriptorToDeclaration throwing exception
This commit is contained in:
Pavel V. Talanov
2013-09-17 20:31:27 +04:00
parent 9599f7d98c
commit 9eeda58747
6 changed files with 140 additions and 20 deletions
@@ -0,0 +1,18 @@
// "Make XX.foo open" "true"
trait X {
fun foo()
}
trait XX : X {
override open fun foo() {
}
}
abstract class A(val y: XX) : X, XX by y {
}
class B(y: XX) : A(y) {
override fun foo() {
}
}
@@ -0,0 +1,18 @@
// "Make XX.foo open" "true"
trait X {
fun foo()
}
trait XX : X {
override open fun foo() {
}
}
trait Y : X, XX {
}
class B() : Y {
override fun foo() {
}
}
@@ -0,0 +1,18 @@
// "Make XX.foo open" "true"
trait X {
fun foo()
}
trait XX : X {
override final fun foo() {
}
}
abstract class A(val y: XX) : X, XX by y {
}
class B(y: XX) : A(y) {
override<caret> fun foo() {
}
}
@@ -0,0 +1,18 @@
// "Make XX.foo open" "true"
trait X {
fun foo()
}
trait XX : X {
override final fun foo() {
}
}
trait Y : X, XX {
}
class B() : Y {
override<caret> fun foo() {
}
}