unqualified super: should be able to invoke methods of Any without extra hassle

when Any is an implicit immediate superclass
This commit is contained in:
Dmitry Petrov
2015-08-06 14:44:04 +03:00
parent 3b03cfaf4f
commit b59bf6227f
13 changed files with 301 additions and 30 deletions
@@ -0,0 +1,34 @@
interface ISomething
open class ClassWithToString {
override fun toString(): String = "C"
}
interface IWithToString {
override fun toString(): String
}
interface IWithDefaultToString {
override fun toString(): String = "I"
}
class C1 : ClassWithToString(), ISomething {
override fun toString(): String = super.toString()
}
class C2 : ClassWithToString(), IWithToString, ISomething {
override fun toString(): String = super.toString()
}
class C3 : IWithDefaultToString, ISomething {
override fun toString(): String = super.toString()
}
fun box(): String {
return when {
C1().toString() != "C" -> "Failed #1"
C2().toString() != "C" -> "Failed #2"
C3().toString() != "I" -> "Failed #3"
else -> "OK"
}
}