K1: change depr. level of List.getFirst to HIDDEN but don't force it on overrides
#KT-65441 Fixed
This commit is contained in:
committed by
Space Team
parent
d870d9dcc6
commit
91e9fbd9bf
Vendored
+12
-12
@@ -1,11 +1,11 @@
|
||||
fun foo(ll: java.util.LinkedList<String>, al: ArrayList<String>, ad: ArrayDeque<String>, jad: java.util.ArrayDeque<String>) {
|
||||
ll.addFirst("")
|
||||
ll.addLast("")
|
||||
ll.<!DEPRECATION!>getFirst<!>()
|
||||
ll.<!DEPRECATION!>first<!> // synthetic property for getFirst()
|
||||
ll.getFirst()
|
||||
ll.first // synthetic property for getFirst()
|
||||
ll.first() // stdlib extension on List
|
||||
ll.<!DEPRECATION!>getLast<!>()
|
||||
ll.<!DEPRECATION!>last<!>
|
||||
ll.getLast()
|
||||
ll.last
|
||||
ll.last()
|
||||
ll.<!DEBUG_INFO_CALL("fqName: java.util.LinkedList.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
ll.<!DEBUG_INFO_CALL("fqName: java.util.LinkedList.removeLast; typeCall: function")!>removeLast()<!>
|
||||
@@ -13,11 +13,11 @@ fun foo(ll: java.util.LinkedList<String>, al: ArrayList<String>, ad: ArrayDeque<
|
||||
|
||||
al.addFirst("")
|
||||
al.addLast("")
|
||||
al.<!DEPRECATION!>getFirst<!>()
|
||||
al.<!DEPRECATION!>first<!>
|
||||
al.getFirst()
|
||||
al.first
|
||||
al.first()
|
||||
al.<!DEPRECATION!>getLast<!>()
|
||||
al.<!DEPRECATION!>last<!>
|
||||
al.getLast()
|
||||
al.last
|
||||
al.last()
|
||||
al.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
al.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeLast; typeCall: function")!>removeLast()<!>
|
||||
@@ -25,11 +25,11 @@ fun foo(ll: java.util.LinkedList<String>, al: ArrayList<String>, ad: ArrayDeque<
|
||||
|
||||
ad.addFirst("")
|
||||
ad.addLast("")
|
||||
ad.<!DEPRECATION!>getFirst<!>()
|
||||
ad.<!DEPRECATION!>first<!>
|
||||
ad.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
ad.<!DEPRECATION_ERROR!>first<!>
|
||||
ad.first()
|
||||
ad.<!DEPRECATION!>getLast<!>()
|
||||
ad.<!DEPRECATION!>last<!>
|
||||
ad.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
ad.<!DEPRECATION_ERROR!>last<!>
|
||||
ad.last()
|
||||
ad.<!DEBUG_INFO_CALL("fqName: kotlin.collections.ArrayDeque.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
ad.<!DEBUG_INFO_CALL("fqName: kotlin.collections.ArrayDeque.removeLast; typeCall: function")!>removeLast()<!>
|
||||
|
||||
+4
-47
@@ -1,55 +1,12 @@
|
||||
/newListMethods.kt:15:18: warning: this declaration overrides deprecated member but not marked as deprecated itself. Please add @Deprecated annotation or suppress. See https://youtrack.jetbrains.com/issue/KT-47902 for details
|
||||
override fun getFirst(): T = super.getFirst()
|
||||
^^^^^^^^
|
||||
/newListMethods.kt:15:40: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
override fun getFirst(): T = super.getFirst()
|
||||
^^^^^^^^
|
||||
/newListMethods.kt:16:18: warning: this declaration overrides deprecated member but not marked as deprecated itself. Please add @Deprecated annotation or suppress. See https://youtrack.jetbrains.com/issue/KT-47902 for details
|
||||
override fun getLast(): T = super.getLast()
|
||||
^^^^^^^
|
||||
/newListMethods.kt:16:39: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
override fun getLast(): T = super.getLast()
|
||||
^^^^^^^
|
||||
/newListMethods.kt:18:34: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
fun superFirst2(): T = super.first
|
||||
^^^^^
|
||||
/newListMethods.kt:19:33: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
fun superLast2(): T = super.last
|
||||
^^^^
|
||||
/newListMethods.kt:30:7: warning: 'getFirst(): E!' is deprecated. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
/newListMethods.kt:30:7: error: unresolved reference: getFirst
|
||||
x.getFirst()
|
||||
^^^^^^^^
|
||||
/newListMethods.kt:31:7: warning: 'getter for first: E!' is deprecated. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
/newListMethods.kt:31:7: error: using 'getter for first: E!' is an error. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
x.first // synthetic property for getFirst()
|
||||
^^^^^
|
||||
/newListMethods.kt:33:7: warning: 'getLast(): E!' is deprecated. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
/newListMethods.kt:33:7: error: unresolved reference: getLast
|
||||
x.getLast()
|
||||
^^^^^^^
|
||||
/newListMethods.kt:34:7: warning: 'getter for last: E!' is deprecated. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
/newListMethods.kt:34:7: error: using 'getter for last: E!' is an error. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
x.last
|
||||
^^^^
|
||||
/newListMethods.kt:42:7: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
y.getFirst()
|
||||
^^^^^^^^
|
||||
/newListMethods.kt:43:7: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
y.first
|
||||
^^^^^
|
||||
/newListMethods.kt:45:7: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
y.getLast()
|
||||
^^^^^^^
|
||||
/newListMethods.kt:46:7: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
y.last
|
||||
^^^^
|
||||
/newListMethods.kt:54:7: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
z.getFirst()
|
||||
^^^^^^^^
|
||||
/newListMethods.kt:55:7: warning: 'getFirst(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getFirst()' member of List is redundant in Kotlin and might be removed soon. Please use 'first()' stdlib extension instead
|
||||
z.first
|
||||
^^^^^
|
||||
/newListMethods.kt:57:7: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
z.getLast()
|
||||
^^^^^^^
|
||||
/newListMethods.kt:58:7: warning: 'getLast(): E!' is deprecated. Overrides deprecated member in 'java.util.AbstractList'. 'getLast()' member of List is redundant in Kotlin and might be removed soon. Please use 'last()' stdlib extension instead
|
||||
z.last
|
||||
^^^^
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@ class A<T> : ArrayList<T>() {
|
||||
super.addLast(t)
|
||||
}
|
||||
|
||||
override fun <!OVERRIDE_DEPRECATION!>getFirst<!>(): T = super.<!DEPRECATION!>getFirst<!>()
|
||||
override fun <!OVERRIDE_DEPRECATION!>getLast<!>(): T = super.<!DEPRECATION!>getLast<!>()
|
||||
override fun <!OVERRIDE_DEPRECATION!>getFirst<!>(): T = super.getFirst()
|
||||
override fun <!OVERRIDE_DEPRECATION!>getLast<!>(): T = super.getLast()
|
||||
|
||||
fun superFirst2(): T = super.<!DEPRECATION!>first<!>
|
||||
fun superLast2(): T = super.<!DEPRECATION!>last<!>
|
||||
fun superFirst2(): T = super.first
|
||||
fun superLast2(): T = super.last
|
||||
|
||||
override fun removeFirst(): T = super.removeFirst()
|
||||
override fun removeLast(): T = super.removeLast()
|
||||
@@ -27,11 +27,11 @@ class A<T> : ArrayList<T>() {
|
||||
fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
|
||||
x.addFirst("")
|
||||
x.addLast("")
|
||||
x.<!DEPRECATION!>getFirst<!>()
|
||||
x.<!DEPRECATION!>first<!> // synthetic property for getFirst()
|
||||
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
x.<!DEPRECATION_ERROR!>first<!> // synthetic property for getFirst()
|
||||
x.first() // stdlib extension on List
|
||||
x.<!DEPRECATION!>getLast<!>()
|
||||
x.<!DEPRECATION!>last<!>
|
||||
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
x.<!DEPRECATION_ERROR!>last<!>
|
||||
x.last()
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.MutableList.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.MutableList.removeLast; typeCall: function")!>removeLast()<!>
|
||||
@@ -39,11 +39,11 @@ fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
|
||||
|
||||
y.addFirst("")
|
||||
y.addLast("")
|
||||
y.<!DEPRECATION!>getFirst<!>()
|
||||
y.<!DEPRECATION!>first<!>
|
||||
y.getFirst()
|
||||
y.first
|
||||
y.first()
|
||||
y.<!DEPRECATION!>getLast<!>()
|
||||
y.<!DEPRECATION!>last<!>
|
||||
y.getLast()
|
||||
y.last
|
||||
y.last()
|
||||
y.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
y.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeLast; typeCall: function")!>removeLast()<!>
|
||||
@@ -51,11 +51,11 @@ fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
|
||||
|
||||
z.addFirst("")
|
||||
z.addLast("")
|
||||
z.<!DEPRECATION!>getFirst<!>()
|
||||
z.<!DEPRECATION!>first<!>
|
||||
z.getFirst()
|
||||
z.first
|
||||
z.first()
|
||||
z.<!DEPRECATION!>getLast<!>()
|
||||
z.<!DEPRECATION!>last<!>
|
||||
z.getLast()
|
||||
z.last
|
||||
z.last()
|
||||
z.<!DEBUG_INFO_CALL("fqName: A.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
z.<!DEBUG_INFO_CALL("fqName: A.removeLast; typeCall: function")!>removeLast()<!>
|
||||
|
||||
+8
-8
@@ -5,10 +5,10 @@ fun bar(x: List<String>) {
|
||||
x.<!UNRESOLVED_REFERENCE!>addLast<!>("")
|
||||
x.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>removeFirst<!>()
|
||||
x.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>removeLast<!>()
|
||||
x.<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>getFirst<!>()
|
||||
x.<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>getLast<!>()
|
||||
x.<!DEPRECATION!>first<!>
|
||||
x.<!DEPRECATION!>last<!>
|
||||
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
x.<!DEPRECATION_ERROR!>first<!>
|
||||
x.<!DEPRECATION_ERROR!>last<!>
|
||||
}
|
||||
|
||||
// Additional test for other SequenceCollection inheritor
|
||||
@@ -17,10 +17,10 @@ fun baz(x: ArrayDeque<String>, y: LinkedHashSet<String>) {
|
||||
x.addLast("")
|
||||
x.removeFirst()
|
||||
x.removeLast()
|
||||
x.<!DEPRECATION!>getFirst<!>()
|
||||
x.<!DEPRECATION!>getLast<!>()
|
||||
x.<!DEPRECATION!>first<!>
|
||||
x.<!DEPRECATION!>last<!>
|
||||
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
x.<!DEPRECATION_ERROR!>first<!>
|
||||
x.<!DEPRECATION_ERROR!>last<!>
|
||||
|
||||
y.addFirst("")
|
||||
y.addLast("")
|
||||
|
||||
@@ -79,7 +79,8 @@ class JvmBuiltInsCustomizer(
|
||||
storageManager.createMemoizedFunction<Pair<String, String>, Annotations> { (methodName, extensionName) ->
|
||||
val annotation = moduleDescriptor.builtIns.createDeprecatedAnnotation(
|
||||
"'$methodName()' member of List is redundant in Kotlin and might be removed soon. Please use '$extensionName()' stdlib extension instead",
|
||||
forcePropagationDeprecationToOverrides = true,
|
||||
forcePropagationDeprecationToOverrides = false,
|
||||
level = "HIDDEN",
|
||||
replaceWith = "$extensionName()"
|
||||
)
|
||||
Annotations.create(listOf(annotation))
|
||||
|
||||
Reference in New Issue
Block a user