Files
kotlin-fork/compiler/testData/diagnostics/testsWithJdk21/implementationsForSequencedCollection.fir.kt
T
Denis.Zharkov 1e86a82ee1 K1: Change how Kotlin sees some of the new JDK 21 collections members
- Make addFirst/Last and removeFirst/removeLast as members
- Leave getFirst/getLast unprocessed, thus visible for K1, but marked
as deprecated

Though the implementations of getFirst/getLast and synthetic property
access to them are expected to be deprecated as well, it's expected
to be fixed in later commits.

^KT-60659 In Progress
^KT-60769 In Progress
2023-08-03 13:31:07 +00:00

51 lines
1.3 KiB
Kotlin
Vendored

// WITH_STDLIB
fun foo(ll: java.util.LinkedList<String>, al: ArrayList<String>, ad: ArrayDeque<String>, jad: java.util.ArrayDeque<String>) {
ll.addFirst("")
ll.addLast("")
ll.<!UNRESOLVED_REFERENCE!>getFirst<!>()
ll.<!INVISIBLE_REFERENCE!>first<!> // synthetic property for getFirst()
ll.first() // stdlib extension on List
ll.<!UNRESOLVED_REFERENCE!>getLast<!>()
ll.<!INVISIBLE_REFERENCE!>last<!>
ll.last()
ll.removeFirst()
ll.removeLast()
ll.reversed()
al.addFirst("")
al.addLast("")
al.<!UNRESOLVED_REFERENCE!>getFirst<!>()
al.<!FUNCTION_CALL_EXPECTED!>first<!>
al.first()
al.<!UNRESOLVED_REFERENCE!>getLast<!>()
al.<!FUNCTION_CALL_EXPECTED!>last<!>
al.last()
al.removeFirst()
al.removeLast()
al.reversed()
ad.addFirst("")
ad.addLast("")
ad.<!UNRESOLVED_REFERENCE!>getFirst<!>()
ad.<!FUNCTION_CALL_EXPECTED!>first<!>
ad.first()
ad.<!UNRESOLVED_REFERENCE!>getLast<!>()
ad.<!FUNCTION_CALL_EXPECTED!>last<!>
ad.last()
ad.removeFirst()
ad.removeLast()
ad.reversed()
jad.addFirst("")
jad.addLast("")
jad.getFirst()
jad.first
jad.first()
jad.getLast()
jad.last
jad.last()
jad.removeFirst()
jad.removeLast()
jad.reversed()
}