Implement jspecify marks processing in the tests properly, by adding specific handler and cleanuper

This commit is contained in:
Victor Petukhov
2021-04-16 14:26:38 +03:00
parent b9536a25d6
commit e93133a28f
39 changed files with 246 additions and 307 deletions
@@ -35,7 +35,7 @@ fun main(a: Defaults, x: Foo): Unit {
a.everythingUnknown(null).foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
a.mixed(x)<!UNSAFE_CALL!>.<!>foo()
@@ -35,7 +35,7 @@ fun main(a: Defaults, x: Foo): Unit {
a.everythingUnknown(null).foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
a.mixed(x)<!UNSAFE_CALL!>.<!>foo()
@@ -31,7 +31,7 @@ public class Derived extends Base { }
fun main(a: IgnoreAnnotations, x: Derived): Unit {
// jspecify_nullness_mismatch
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
@@ -31,7 +31,7 @@ public class Derived extends Base { }
fun main(a: IgnoreAnnotations, x: Derived): Unit {
// jspecify_nullness_mismatch
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
@@ -24,13 +24,13 @@ fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeP
a2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.foo(1)
// jspecify_nullness_mismatch
// 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, 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<!>)
@@ -24,13 +24,13 @@ fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeP
a2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.foo(1)
// jspecify_nullness_mismatch
// 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, 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<!>)
@@ -29,7 +29,7 @@ public class Derived extends Base {
fun main(a: Simple, x: Derived): Unit {
// jspecify_nullness_mismatch
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
a.bar().foo()
@@ -29,7 +29,7 @@ public class Derived extends Base {
fun main(a: Simple, x: Derived): Unit {
// jspecify_nullness_mismatch
a.foo(x, null)<!UNSAFE_CALL!>.<!>foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>, x)<!UNSAFE_CALL!>.<!>foo()
a.bar().foo()
@@ -21,27 +21,27 @@ public class B<T> {
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar<T>(x)
// jspecify_nullness_mismatch
b1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b1.bar<T>(x)
// jspecify_nullness_mismatch
b2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b2.bar<T>(x)
}
@@ -21,27 +21,27 @@ public class B<T> {
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar<T>(x)
// jspecify_nullness_mismatch
b1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b1.bar<T>(x)
// jspecify_nullness_mismatch
b2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b2.bar<T>(x)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: AnnotatedBoundsOfWildcard.java
import org.jspecify.nullness.*;
@@ -42,9 +40,9 @@ fun main(
b: AnnotatedBoundsOfWildcard
): Unit {
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superAsIs(aAnyNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superAsIs(aAnyNotNullNotNullNull)
b.superAsIs(aAnyNotNullNullNotNull)
b.superAsIs(aAnyNotNullNullNull)
@@ -54,13 +52,13 @@ fun main(
b.superNotNull(aAnyNotNullNullNotNull)
b.superNotNull(aAnyNotNullNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNullNull)
b.extendsAsIs(aNotNullNotNullNotNull)
@@ -69,11 +67,11 @@ fun main(
b.extendsAsIs(aNotNullNullNull)
b.extendsNotNull(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNullNull)
b.extendsNullable(aNotNullNotNullNotNull)
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: AnnotatedBoundsOfWildcard.java
import org.jspecify.nullness.*;
@@ -42,9 +40,9 @@ fun main(
b: AnnotatedBoundsOfWildcard
): Unit {
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superAsIs(aAnyNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superAsIs(aAnyNotNullNotNullNull)
b.superAsIs(aAnyNotNullNullNotNull)
b.superAsIs(aAnyNotNullNullNull)
@@ -54,13 +52,13 @@ fun main(
b.superNotNull(aAnyNotNullNullNotNull)
b.superNotNull(aAnyNotNullNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.superNullable(aAnyNotNullNullNull)
b.extendsAsIs(aNotNullNotNullNotNull)
@@ -69,11 +67,11 @@ fun main(
b.extendsAsIs(aNotNullNullNull)
b.extendsNotNull(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.extendsNotNull(aNotNullNullNull)
b.extendsNullable(aNotNullNotNullNotNull)
@@ -34,7 +34,7 @@ fun main(a: Defaults, x: Foo): Unit {
a.everythingUnknown(null).foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)<!>.foo()
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.mixed(x)<!>.foo()
@@ -34,7 +34,7 @@ fun main(a: Defaults, x: Foo): Unit {
a.everythingUnknown(null).foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)<!>.foo()
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.mixed(x)<!>.foo()
@@ -30,7 +30,7 @@ public class Derived extends Base { }
fun main(a: IgnoreAnnotations, x: Derived): Unit {
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(x, null)<!>.foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, x)<!>.foo()
// jspecify_nullness_mismatch
@@ -30,7 +30,7 @@ public class Derived extends Base { }
fun main(a: IgnoreAnnotations, x: Derived): Unit {
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(x, null)<!>.foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, x)<!>.foo()
// jspecify_nullness_mismatch
@@ -1,6 +1,4 @@
// !LANGUAGE: +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// JSPECIFY_MUTE
// FILE: NonPlatformTypeParameter.java
import org.jspecify.nullness.*;
@@ -16,14 +14,14 @@ public class Test {}
fun <T : Test> main(a1: NonPlatformTypeParameter<Any?>, a2: NonPlatformTypeParameter<Test>, x: T): Unit {
a1.foo(null)
a1.bar<Test?>(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.bar<T>(null)
a1.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.bar<Test?>(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar<T>(null)
a2.bar<T>(x)
}
@@ -1,6 +1,4 @@
// !LANGUAGE: +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// JSPECIFY_MUTE
// FILE: NonPlatformTypeParameter.java
import org.jspecify.nullness.*;
@@ -16,14 +14,14 @@ public class Test {}
fun <T : Test> main(a1: NonPlatformTypeParameter<Any?>, a2: NonPlatformTypeParameter<Test>, x: T): Unit {
a1.foo(null)
a1.bar<Test?>(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.bar<T>(null)
a1.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.bar<Test?>(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar<T>(null)
a2.bar<T>(x)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: NullnessUnspecifiedTypeParameter.java
import org.jspecify.nullness.*;
@@ -16,23 +14,23 @@ public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeParameter<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, x: Test): Unit {
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.foo(null)
a1.foo(1)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.foo(1)
// jspecify_nullness_mismatch
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.bar(x, null)
a1.bar(x, 1)
// jspecify_nullness_mismatch
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar(x, null)
a2.bar(x, 1)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: NullnessUnspecifiedTypeParameter.java
import org.jspecify.nullness.*;
@@ -16,23 +14,22 @@ public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeParameter<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, x: Test): Unit {
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.foo(null)
a1.foo(1)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.foo(1)
// jspecify_nullness_mismatch
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
// jspecify_nullness_mismatch
a1.bar(x, null)
a1.bar(x, 1)
// jspecify_nullness_mismatch
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar(x, null)
a2.bar(x, 1)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: SelfType.java
import org.jspecify.nullness.*;
@@ -39,20 +37,20 @@ 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
// jspecify_nullness_mismatch{mute}
ak.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
akn.foo(null)
bk.foo(bk)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
bk.foo(null)
ck.foo(ck)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
ck.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
ckn.foo(null)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: SelfType.java
import org.jspecify.nullness.*;
@@ -39,20 +37,20 @@ 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
// jspecify_nullness_mismatch{mute}
ak.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
akn.foo(null)
bk.foo(bk)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
bk.foo(null)
ck.foo(ck)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
ck.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
ckn.foo(null)
}
@@ -28,7 +28,7 @@ public class Derived extends Base {
fun main(a: Simple, x: Derived): Unit {
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(x, null)<!>.foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, x)<!>.foo()
a.bar().foo()
@@ -28,7 +28,7 @@ public class Derived extends Base {
fun main(a: Simple, x: Derived): Unit {
// jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(x, null)<!>.foo()
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
<!RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>a.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, x)<!>.foo()
a.bar().foo()
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: TypeArgumentsFromParameterBounds.java
import org.jspecify.nullness.*;
@@ -33,16 +31,16 @@ fun main(
a: A, b: B
): Unit {
a.bar(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.bar(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.bar(aNotNullNotNullNull)
b.bar(aNotNullNullNotNull)
b.bar(aNotNullNullNull)
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: TypeArgumentsFromParameterBounds.java
import org.jspecify.nullness.*;
@@ -33,16 +31,16 @@ fun main(
a: A, b: B
): Unit {
a.bar(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a.bar(aNotNullNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.bar(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.bar(aNotNullNotNullNull)
b.bar(aNotNullNullNotNull)
b.bar(aNotNullNullNull)
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: A.java
import org.jspecify.nullness.*;
@@ -21,27 +19,27 @@ public class B<T> {
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.bar<T?>(null)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar<T?>(null)
a2.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b1.bar<T?>(null)
b1.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b2.bar<T?>(null)
b2.bar<T>(x)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: A.java
import org.jspecify.nullness.*;
@@ -21,27 +19,27 @@ public class B<T> {
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a1.bar<T?>(null)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
a2.bar<T?>(null)
a2.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b1.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b1.bar<T?>(null)
b1.bar<T>(x)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b2.foo(null)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b2.bar<T?>(null)
b2.bar<T>(x)
}
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: WildcardsWithDefault.java
import org.jspecify.nullness.*;
@@ -23,11 +21,11 @@ fun main(
b: WildcardsWithDefault
): Unit {
b.noBoundsNotNull(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNullNull)
b.noBoundsNullable(aNotNullNotNullNotNull)
@@ -1,5 +1,3 @@
// JSPECIFY_MUTE
// FILE: WildcardsWithDefault.java
import org.jspecify.nullness.*;
@@ -23,11 +21,11 @@ fun main(
b: WildcardsWithDefault
): Unit {
b.noBoundsNotNull(aNotNullNotNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNotNullNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNullNotNull)
// jspecify_nullness_mismatch
// jspecify_nullness_mismatch{mute}
b.noBoundsNotNull(aNotNullNullNull)
b.noBoundsNullable(aNotNullNotNullNotNull)