Improve 1.0-compatibility mode for JDK dependent members
Just reporting error by call checker may be too restrictive in case there are some extensions that can be used successfully Solution is to annotate additional members with @Deprecated(level=Error) + @kotlin.internal.LowPriorityInOverloadResolution
This commit is contained in:
+15
-6
@@ -1,18 +1,27 @@
|
||||
// !CHECK_TYPE
|
||||
// !LANGUAGE: -AdditionalBuiltInsMembers
|
||||
// SKIP_TXT
|
||||
|
||||
class A : java.util.ArrayList<String>() {
|
||||
<!UNSUPPORTED_FEATURE!>override<!> fun stream(): java.util.stream.Stream<String> = super.<!UNSUPPORTED_FEATURE!>stream<!>()
|
||||
<!UNSUPPORTED_FEATURE!>override<!> fun stream(): java.util.stream.Stream<String> = super.<!DEPRECATION_ERROR!>stream<!>()
|
||||
}
|
||||
|
||||
class A1 : java.util.ArrayList<String>() {
|
||||
// TODO: should be allowed
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun stream(): java.util.stream.Stream<String><!> = super.<!UNSUPPORTED_FEATURE!>stream<!>()
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun stream(): java.util.stream.Stream<String><!> = super.<!DEPRECATION_ERROR!>stream<!>()
|
||||
}
|
||||
|
||||
class B : <!UNSUPPORTED_FEATURE!>Throwable<!>("", null, false, false)
|
||||
class B : <!DEPRECATION_ERROR!>Throwable<!>("", null, false, false)
|
||||
|
||||
fun foo(x: List<String>) {
|
||||
x.<!UNSUPPORTED_FEATURE!>stream<!>()
|
||||
java.util.ArrayList<String>().<!UNSUPPORTED_FEATURE!>stream<!>()
|
||||
fun Throwable.fillInStackTrace() = 1
|
||||
|
||||
fun foo(x: List<String>, y: Throwable) {
|
||||
x.<!DEPRECATION_ERROR!>stream<!>()
|
||||
java.util.ArrayList<String>().<!DEPRECATION_ERROR!>stream<!>()
|
||||
|
||||
y.fillInStackTrace() checkType { _<Int>() }
|
||||
|
||||
// TODO: Relevant extensions has been removed from stdlib
|
||||
// We should consider reverting their removal
|
||||
y.<!DEPRECATION_ERROR!>printStackTrace<!>()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user