[Jspecify] Use bounds of type parameters for warnings reporting as well
This commit is contained in:
+10
-10
@@ -14,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{mute}
|
||||
a1.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
a1.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a1.foo(1)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
a2.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
a2.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a2.foo(1)
|
||||
|
||||
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
|
||||
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
a1.bar(x, null)
|
||||
a1.bar(x, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a1.bar(x, 1)
|
||||
|
||||
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
|
||||
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
a2.bar(x, null)
|
||||
a2.bar(x, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a2.bar(x, 1)
|
||||
}
|
||||
|
||||
+10
-9
@@ -14,22 +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{mute}
|
||||
a1.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
a1.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a1.foo(1)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
a2.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
a2.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a2.foo(1)
|
||||
|
||||
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
|
||||
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
a1.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
|
||||
a1.bar(x, null)
|
||||
a1.bar(x, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a1.bar(x, 1)
|
||||
|
||||
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
|
||||
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
a2.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>, null)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
a2.bar(x, null)
|
||||
a2.bar(x, <!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
a2.bar(x, 1)
|
||||
}
|
||||
Vendored
+10
-10
@@ -37,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{mute}
|
||||
ak.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ak.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
akn.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
akn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
bk.foo(bk)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
bk.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
bk.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
ck.foo(ck)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
ck.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ck.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
ckn.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ckn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
}
|
||||
Vendored
+10
-10
@@ -37,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{mute}
|
||||
ak.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ak.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
akn.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
akn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
bk.foo(bk)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
bk.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
bk.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
ck.foo(ck)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
ck.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ck.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
ckn.foo(null)
|
||||
// jspecify_nullness_mismatch
|
||||
ckn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
|
||||
}
|
||||
+4
-4
@@ -38,10 +38,10 @@ fun main(
|
||||
// jspecify_nullness_mismatch
|
||||
a.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNullNull<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
b.bar(aNotNullNotNullNotNull)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
b.bar(aNotNullNotNullNull)
|
||||
// jspecify_nullness_mismatch
|
||||
b.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNotNullNotNull<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
b.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNotNullNull<!>)
|
||||
b.bar(aNotNullNullNotNull)
|
||||
b.bar(aNotNullNullNull)
|
||||
}
|
||||
+4
-4
@@ -38,10 +38,10 @@ fun main(
|
||||
// jspecify_nullness_mismatch
|
||||
a.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNullNull<!>)
|
||||
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
b.bar(aNotNullNotNullNotNull)
|
||||
// jspecify_nullness_mismatch{mute}
|
||||
b.bar(aNotNullNotNullNull)
|
||||
// jspecify_nullness_mismatch
|
||||
b.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNotNullNotNull<!>)
|
||||
// jspecify_nullness_mismatch
|
||||
b.bar(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>aNotNullNotNullNull<!>)
|
||||
b.bar(aNotNullNullNotNull)
|
||||
b.bar(aNotNullNullNull)
|
||||
}
|
||||
+2
-2
@@ -14,5 +14,5 @@ typealias C2<T> = MapLike<T>
|
||||
|
||||
val test1 = C(1, C(2, null))
|
||||
val test2 = C(1, <!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>C(<!TYPE_MISMATCH, TYPE_MISMATCH!>""<!>, null)<!>)
|
||||
val test23 = <!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION_BASED_ON_JAVA_ANNOTATIONS!>C2(if (true) 1 else null)<!>
|
||||
val test234 = C2(<!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION_BASED_ON_JAVA_ANNOTATIONS!>C2(if (true) 1 else null)<!>)
|
||||
val test23 = <!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION_BASED_ON_JAVA_ANNOTATIONS!>C2(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>if (true) 1 else null<!>)<!>
|
||||
val test234 = C2(<!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION_BASED_ON_JAVA_ANNOTATIONS!>C2(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>if (true) 1 else null<!>)<!>)
|
||||
|
||||
Reference in New Issue
Block a user