Files
kotlin-fork/compiler/testData/diagnostics/tests/testsWithJava17/newListMethods.kt
T
Kirill Rakhman 2f49272c42 [FIR] Create fake hidden versions of List.getFirst/getLast in JDK < 21
... so that overrides are marked as deprecated regardless of the JDK.

#KT-65440 Fixed
2024-02-14 13:13:01 +00:00

30 lines
711 B
Kotlin
Vendored

import java.util.LinkedList
class A<T> : ArrayList<T>() {
fun getFirst(): T = super.<!UNRESOLVED_REFERENCE!>getFirst<!>()
fun getLast(): T = super.<!UNRESOLVED_REFERENCE!>getLast<!>()
}
fun foo(x: List<String>, y: LinkedList<String>, z: A<String>) {
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
x.<!FUNCTION_CALL_EXPECTED!>first<!>
x.first() // stdlib extension on List
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
x.<!FUNCTION_CALL_EXPECTED!>last<!>
x.last()
y.getFirst()
y.first
y.first()
y.getLast()
y.last
y.last()
z.getFirst()
z.<!FUNCTION_CALL_EXPECTED!>first<!>
z.first()
z.getLast()
z.<!FUNCTION_CALL_EXPECTED!>last<!>
z.last()
}