FIR: attach annotations to Java-converted cone types

This commit is contained in:
pyos
2021-08-11 16:16:42 +02:00
committed by teamcityserver
parent 5355d04553
commit 5704dffdbe
20 changed files with 122 additions and 332 deletions
@@ -9,8 +9,8 @@ public class BaseClass {
// FILE: main.kt
class A : BaseClass() {
// org.checkerframework.checker.nullness.qual.NonNull has @Target TYPE_USE, so it affects only elements type
override fun loadCache(vararg args: Any?) {
super.loadCache(*args)
<!NOTHING_TO_OVERRIDE!>override<!> fun loadCache(vararg args: Any?) {
super.loadCache(*<!ARGUMENT_TYPE_MISMATCH!>args<!>)
}
}
@@ -1,21 +0,0 @@
// SOURCE_RETENTION_ANNOTATIONS
// FILE: BaseClass.java
import org.checkerframework.checker.nullness.qual.*;
public class BaseClass {
public void loadCache(@Nullable Object... args) {}
}
// FILE: main.kt
class A : BaseClass() {
override fun loadCache(vararg args: Any?) {
super.loadCache(*args)
}
}
class B : BaseClass() {
// org.checkerframework.checker.nullness.qual.Nullable has @Target TYPE_USE, so it affects only elements type
override fun loadCache(vararg args: Any) {
super.loadCache(*args)
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// SOURCE_RETENTION_ANNOTATIONS
// FILE: BaseClass.java
import org.checkerframework.checker.nullness.qual.*;
@@ -51,13 +51,13 @@ fun <R> main(a: ReturnType<R>) {
takeNotNullStringAndNotNullK(x3)
takeNullableStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x3<!>)
val x4 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<R..R?!>..kotlin.Array<out R..R?!>")!>a.foo4<!>
val x4 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<R!!>..kotlin.Array<out R!!>")!>a.foo4<!>
takeArrayOfNotNullString(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNullableString(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNullableK(x4)
takeArrayOfNotNullK(x4)
takeArrayOfNullableK(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
val x5 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<kotlin.String..kotlin.String?!>?..kotlin.Array<out kotlin.String..kotlin.String?!>??")!>a.foo5()<!>
val x5 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<kotlin.String?>?..kotlin.Array<out kotlin.String?>??")!>a.foo5()<!>
takeArrayOfNotNullString(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
takeArrayOfNullableString(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
takeArrayOfNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
@@ -53,13 +53,13 @@ fun <R> main(a: ReturnTypeWithWarnings<R>) {
takeNotNullStringAndNotNullK(x3)
takeNullableStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x3<!>)
val x4 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<R..R?!>..kotlin.Array<out R..R?!>")!>a.foo4<!>
val x4 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<R!!>..kotlin.Array<out R!!>")!>a.foo4<!>
takeArrayOfNotNullString(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNullableString(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
takeArrayOfNullableK(x4)
takeArrayOfNotNullK(x4)
takeArrayOfNullableK(<!ARGUMENT_TYPE_MISMATCH!>x4<!>)
val x5 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<kotlin.String..kotlin.String?!>?..kotlin.Array<out kotlin.String..kotlin.String?!>??")!>a.foo5()<!>
val x5 = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Array<kotlin.String?>?..kotlin.Array<out kotlin.String?>??")!>a.foo5()<!>
takeArrayOfNotNullString(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
takeArrayOfNullableString(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
takeArrayOfNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x5<!>)
@@ -50,7 +50,7 @@ fun <R> main(a: ValueParameter<R>) {
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNotNullString()<!>)
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNullableString()<!>)
a.foo4(getArrayOfNotNullK())
a.foo4(getArrayOfNullableK())
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNullableK()<!>)
a.foo5(getArrayOfNotNullString())
a.foo5(getArrayOfNullableString())
@@ -52,7 +52,7 @@ fun <R> main(a: ValueParameterWithWarnings<R>) {
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNotNullString()<!>)
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNullableString()<!>)
a.foo4(getArrayOfNotNullK())
a.foo4(getArrayOfNullableK())
a.foo4(<!ARGUMENT_TYPE_MISMATCH!>getArrayOfNullableK()<!>)
a.foo5(getArrayOfNotNullString())
a.foo5(getArrayOfNullableString())