[Jspecify] Do preserving flexibility when adding equality constraints by taking into account type with enhancement

This commit is contained in:
Victor Petukhov
2021-05-12 19:13:05 +03:00
parent 937e82db46
commit 2479655708
3 changed files with 21 additions and 13 deletions
@@ -14,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{mute}
a1.bar<T>(null)
// jspecify_nullness_mismatch
a1.bar<T>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
a1.bar<T>(x)
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.bar<Test?>(null)
// jspecify_nullness_mismatch{mute}
a2.bar<T>(null)
// jspecify_nullness_mismatch
a2.bar<T>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
a2.bar<T>(x)
}
@@ -14,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{mute}
a1.bar<T>(null)
// jspecify_nullness_mismatch
a1.bar<T>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
a1.bar<T>(x)
// jspecify_nullness_mismatch{mute}
a2.foo(null)
a2.bar<Test?>(null)
// jspecify_nullness_mismatch{mute}
a2.bar<T>(null)
// jspecify_nullness_mismatch
a2.bar<T>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
a2.bar<T>(x)
}