Method can be hidden if it is annotated with kotlin.internal.PlatformDependent,

or is a Java method from a Kotlin built-in class (transitively).

https://github.com/Kotlin/KEEP/blob/master/proposals/jdk-dependent-built-ins.md#backward-compatibility-of-overrides
This commit is contained in:
Dmitry Petrov
2016-12-21 10:49:57 +03:00
parent d9271b54fb
commit 8d16bd1215
22 changed files with 661 additions and 12 deletions
@@ -0,0 +1,18 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
abstract class Test1 : Map<String, String> {
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
fun getOrDefault(key: String, defaultValue: String): String = TODO()
}
abstract class Test2 : MutableMap<String, String> {
fun replace(key: String, value: String): String? = TODO()
}
abstract class Test3 : java.util.AbstractMap<String, String>() {
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
fun replace(key: String, value: String): String? = TODO()
}