K1/K2: support org.jspecify.annotations.NonNull in Java interop

#KT-62352 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-11-14 16:24:34 +01:00
committed by Space Team
parent dcbc1e6a04
commit 1eacd5efc2
10 changed files with 131 additions and 0 deletions
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: warn
// FILE: SomeJavaClass.java
import org.jspecify.annotations.*;
public class SomeJavaClass {
@NonNull
public String foo() { return ""; }
@Nullable
public String bar() { return ""; }
}
// FILE: test.kt
class DerivedNullable : SomeJavaClass() {
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun foo(): String? { return null }
override fun bar(): String? { return null }
}
class DerivedNonNull : SomeJavaClass() {
override fun foo(): String { return "" }
override fun bar(): String { return "" }
}