Support compiler flag -Xcodeanalysis-annotations
This commit is contained in:
committed by
Victor Petukhov
parent
c734bac676
commit
f3a490ee16
+52
@@ -0,0 +1,52 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// CODE_ANALYSIS_STATE ignore
|
||||
// FILE: A.java
|
||||
|
||||
import jspecify.annotations.*;
|
||||
|
||||
public class A {
|
||||
@Nullable public String field = null;
|
||||
|
||||
@Nullable
|
||||
public String foo(@NotNull String x, @UnknownNullness CharSequence y) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String bar() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@DefaultNotNull
|
||||
public String everythingNotNullable(String x) { return ""; }
|
||||
|
||||
@DefaultNullable
|
||||
public String everythingNullable(String x) { return ""; }
|
||||
|
||||
@DefaultNullnessUnknown
|
||||
public String everythingUnknown(String x) { return ""; }
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
fun main(a: A) {
|
||||
a.foo("", null)?.length
|
||||
a.foo("", null).length
|
||||
a.foo(null, "").length
|
||||
|
||||
a.bar().length
|
||||
a.bar()!!.length
|
||||
|
||||
a.field?.length
|
||||
a.field.length
|
||||
|
||||
a.everythingNotNullable(null)?.length
|
||||
a.everythingNotNullable(null).length
|
||||
a.everythingNotNullable("").length
|
||||
|
||||
a.everythingNullable(null).length
|
||||
a.everythingNullable(null)?.length
|
||||
|
||||
a.everythingUnknown(null).length
|
||||
a.everythingUnknown(null)?.length
|
||||
}
|
||||
Reference in New Issue
Block a user