47 lines
1.5 KiB
Kotlin
Vendored
47 lines
1.5 KiB
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
|
// CODE_ANALYSIS_STATE warn
|
|
// FILE: A.java
|
|
|
|
import jspecify.annotations.*;
|
|
|
|
@DefaultNotNull
|
|
public class A {
|
|
public String defaultField = "";
|
|
@Nullable public String field = null;
|
|
|
|
public String everythingNotNullable(String x) { return ""; }
|
|
|
|
@DefaultNullable
|
|
public String everythingNullable(String x) { return ""; }
|
|
|
|
@DefaultNullnessUnknown
|
|
public String everythingUnknown(String x) { return ""; }
|
|
|
|
@DefaultNullable
|
|
public String mixed(@NotNull String x) { return ""; }
|
|
}
|
|
|
|
// FILE: main.kt
|
|
|
|
fun main(a: A) {
|
|
a.everythingNotNullable(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
|
a.everythingNotNullable(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>).length
|
|
a.everythingNotNullable("").length
|
|
|
|
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.everythingNullable(null)<!>.length
|
|
a.everythingNullable(null)?.length
|
|
|
|
a.everythingUnknown(null).length
|
|
a.everythingUnknown(null)?.length
|
|
|
|
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)<!>.length
|
|
a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)?.length
|
|
a.mixed("")?.length
|
|
|
|
a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
|
a.defaultField.length
|
|
|
|
a.field?.length
|
|
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.field<!>.length
|
|
}
|