[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
This commit is contained in:
committed by
Space Team
parent
c6b2675089
commit
2f49272c42
@@ -0,0 +1,29 @@
|
||||
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()
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
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()
|
||||
}
|
||||
Reference in New Issue
Block a user