Regenerate foreign annotation test data for FIR

This commit is contained in:
pyos
2021-07-29 15:38:53 +02:00
committed by Mikhail Glukhikh
parent 58110709f3
commit 623b289616
10 changed files with 19 additions and 90 deletions
@@ -1,46 +0,0 @@
// JSPECIFY_STATE: strict
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// FILE: Defaults.java
import org.jspecify.nullness.*;
@NullMarked
public class Defaults {
public Foo defaultField = null;
@Nullable public Foo field = null;
public Foo everythingNotNullable(Foo x) { return null; }
public @Nullable Foo everythingNullable(@Nullable Foo x) { return null; }
public @NullnessUnspecified Foo everythingUnknown(@NullnessUnspecified Foo x) { return null; }
public @Nullable Foo mixed(Foo x) { return null; }
public Foo explicitlyNullnessUnspecified(@NullnessUnspecified Foo x) { return null; }
}
// FILE: Foo.java
public class Foo {
public Object foo() { return null; }
}
// FILE: main.kt
fun main(a: Defaults, x: Foo): Unit {
a.everythingNotNullable(<!NULL_FOR_NONNULL_TYPE!>null<!>).foo()
a.everythingNotNullable(x).foo()
a.everythingNullable(null)<!UNSAFE_CALL!>.<!>foo()
a.everythingUnknown(null).foo()
a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)<!UNSAFE_CALL!>.<!>foo()
a.mixed(x)<!UNSAFE_CALL!>.<!>foo()
a.explicitlyNullnessUnspecified(x).foo()
a.explicitlyNullnessUnspecified(null).foo()
a.defaultField.foo()
a.field<!UNSAFE_CALL!>.<!>foo()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
@@ -1,44 +0,0 @@
// JSPECIFY_STATE: strict
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// FILE: IgnoreAnnotations.java
import org.jspecify.nullness.*;
@NullMarked
public class IgnoreAnnotations {
@Nullable public Derived field = null;
@Nullable
public Derived foo(Derived x, @NullnessUnspecified Base y) {
return null;
}
public Derived everythingNotNullable(Derived x) { return null; }
public @Nullable Derived everythingNullable(@Nullable Derived x) { return null; }
public @NullnessUnspecified Derived everythingUnknown(@NullnessUnspecified Derived x) { return null; }
}
// FILE: Base.java
public class Base {
void foo() {}
}
// FILE: Derived.java
public class Derived extends Base { }
// FILE: main.kt
fun main(a: IgnoreAnnotations, x: Derived): Unit {
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
a.field<!UNSAFE_CALL!>.<!>foo()
a.everythingNotNullable(<!NULL_FOR_NONNULL_TYPE!>null<!>).foo()
a.everythingNotNullable(x).foo()
a.everythingNullable(null)<!UNSAFE_CALL!>.<!>foo()
a.everythingUnknown(null).foo()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
@@ -15,17 +15,23 @@ public class Test {}
// FILE: main.kt
fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeParameter<Any?>, x: Test): Unit {
// jspecify_nullness_mismatch
a1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.foo(1)
// jspecify_nullness_mismatch
a2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.foo(1)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
a1.bar(x, <!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar(x, 1)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
a2.bar(x, <!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar(x, 1)
}
@@ -39,11 +39,14 @@ public class CKN extends C<@Nullable CK> {}
// FILE: main.kt
fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
ak.foo(ak)
// jspecify_nullness_mismatch
ak.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
akn.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
bk.foo(bk)
// jspecify_nullness_mismatch
bk.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
ck.foo(ck)
@@ -28,10 +28,13 @@ public class Derived extends Base {
// FILE: main.kt
fun main(a: Simple, x: Derived): Unit {
// jspecify_nullness_mismatch
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
a.bar().foo()
// jspecify_nullness_mismatch
a.field<!UNSAFE_CALL!>.<!>foo()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
@@ -36,7 +36,9 @@ fun main(
): Unit {
a.bar(aNotNullNotNullNotNull)
a.bar(aNotNullNotNullNull)
// jspecify_nullness_mismatch
a.bar(<!ARGUMENT_TYPE_MISMATCH!>aNotNullNullNotNull<!>)
// jspecify_nullness_mismatch
a.bar(<!ARGUMENT_TYPE_MISMATCH!>aNotNullNullNull<!>)
b.bar(aNotNullNotNullNotNull)
@@ -30,10 +30,12 @@ fun <T : Test> main(a1: A<Any?>, a2: A<Test>, b1: B<Any?>, b2: B<Test>, x: T): U
a2.bar<T?>(null)
a2.bar<T>(x)
// jspecify_nullness_mismatch
b1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b1.bar<T?>(null)
b1.bar<T>(x)
// jspecify_nullness_mismatch
b2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b2.bar<T?>(null)
b2.bar<T>(x)