Files
kotlin-fork/compiler/testData/diagnostics/tests/testsWithJava17/newListMethods.fir.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

29 lines
818 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.<!DEPRECATION!>getFirst<!>()
y.<!DEPRECATION!>first<!>
y.first()
y.<!DEPRECATION!>getLast<!>()
y.<!DEPRECATION!>last<!>
y.last()
z.<!DEPRECATION!>getFirst<!>()
z.<!FUNCTION_CALL_EXPECTED!>first<!>
z.first()
z.<!DEPRECATION!>getLast<!>()
z.<!FUNCTION_CALL_EXPECTED!>last<!>
z.last()
}