K1/K2: consider List.(add/remove)(First/Last) as mutable list methods

#KT-64640 Fixed
This commit is contained in:
Mikhail Glukhikh
2024-01-02 13:59:54 +01:00
committed by Space Team
parent 8a560d2629
commit 0ef41d75b5
5 changed files with 24 additions and 10 deletions
@@ -57,3 +57,6 @@ fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
z.<!DEBUG_INFO_CALL("fqName: A.removeLast; typeCall: function")!>removeLast()<!>
z.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
}
// DIAGNOSTICS: -JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE
// accidentally reported (K1 only) on x.addFirst/addLast/removeFirst/removeLast (no such diagnostics on y and z)
@@ -57,3 +57,6 @@ fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
z.<!DEBUG_INFO_CALL("fqName: A.removeLast; typeCall: function")!>removeLast()<!>
z.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
}
// DIAGNOSTICS: -JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE
// accidentally reported (K1 only) on x.addFirst/addLast/removeFirst/removeLast (no such diagnostics on y and z)
@@ -2,8 +2,8 @@
// WITH_STDLIB
fun bar(x: List<String>) {
x.addFirst("")
x.addLast("")
x.removeFirst()
x.removeLast()
}
x.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
x.<!UNRESOLVED_REFERENCE!>addLast<!>("")
x.<!UNRESOLVED_REFERENCE!>removeFirst<!>()
x.<!UNRESOLVED_REFERENCE!>removeLast<!>()
}
@@ -2,8 +2,8 @@
// WITH_STDLIB
fun bar(x: List<String>) {
x.<!JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>addFirst<!>("")
x.<!JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>addLast<!>("")
x.<!JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>removeFirst<!>()
x.<!JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>removeLast<!>()
x.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
x.<!UNRESOLVED_REFERENCE!>addLast<!>("")
x.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>removeFirst<!>()
x.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>removeLast<!>()
}