2e5b783cc6
Previously, the semantic was more-or-less correct for most of the cases but some corner one, like `sort` in MutableList didn't work properly. Namely, `sort` should be marked there in a way to forbid to call it everywhere beside super-calls. Also, overriding it should be allowed. Mostly, the logic was re-written to K2 model from K1-related JvmBuiltInsCustomizer. ^KT-57694 In progress ^KT-57269 Fixed
14 lines
517 B
Kotlin
Vendored
14 lines
517 B
Kotlin
Vendored
// !JDK_KIND: MODIFIED_MOCK_JDK
|
|
// !CHECK_TYPE
|
|
|
|
interface A : MutableCollection<String> {
|
|
// Override of deprecated function could be marked as deprecated too
|
|
override fun nonExistingMethod(x: String) = ""
|
|
}
|
|
|
|
fun foo(x: MutableCollection<Int>, y: Collection<String>, z: A) {
|
|
x.<!UNRESOLVED_REFERENCE!>nonExistingMethod<!>(1).<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>checkType<!> { _<String>() }
|
|
y.<!UNRESOLVED_REFERENCE!>nonExistingMethod<!>("")
|
|
z.<!UNRESOLVED_REFERENCE!>nonExistingMethod<!>("")
|
|
}
|