Java 8 rules for method overrides:

- report errors on implementing methods of Any in interfaces
- update testData

~~~

Java 8 override restrictions: interface can't implement a method of 'Any'
- update compiler sources
This commit is contained in:
Dmitry Petrov
2015-10-08 13:00:13 +03:00
parent 5d9ee7efee
commit 7e9e427d4c
36 changed files with 247 additions and 190 deletions
@@ -8,10 +8,6 @@ interface IWithToString {
override fun toString(): String
}
interface IWithDefaultToString {
override fun toString(): String = "I"
}
class C1 : ClassWithToString(), ISomething {
override fun toString(): String = super.toString()
}
@@ -20,15 +16,10 @@ 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"
}
}