mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[jspecify] IDEA-377689 Nullable incompatibilities. Calls with union generics
Fix testdata to avoid testing several mismatches in a single flow See also https://github.com/jspecify/jspecify/pull/763/ GitOrigin-RevId: 719c2f289c5e971bc4e4879e06cf3f7fc2de1842
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f34bbe78ef
commit
4f1f7eaf8a
@@ -37,57 +37,90 @@ interface IntersectionSupertype {
|
||||
|
||||
<T extends @Nullable Object & @Nullable Lib> void x8(T t);
|
||||
|
||||
default void useLib(Lib lib) {
|
||||
x0(lib);
|
||||
x1(lib);
|
||||
x2(lib);
|
||||
x3(lib);
|
||||
x4(lib);
|
||||
x5(lib);
|
||||
x6(lib);
|
||||
x7(lib);
|
||||
x8(lib);
|
||||
default void useLib(Lib lib, int i) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
x0(lib);
|
||||
case 1:
|
||||
x1(lib);
|
||||
case 2:
|
||||
x2(lib);
|
||||
case 3:
|
||||
x3(lib);
|
||||
case 4:
|
||||
x4(lib);
|
||||
case 5:
|
||||
x5(lib);
|
||||
case 6:
|
||||
x6(lib);
|
||||
case 7:
|
||||
x7(lib);
|
||||
case 8:
|
||||
x8(lib);
|
||||
}
|
||||
}
|
||||
|
||||
default void useLibUnspec(@NullnessUnspecified Lib lib) {
|
||||
// jspecify_nullness_not_enough_information
|
||||
x0(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x1(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x2(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x3(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x4(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x5(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x6(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x7(lib);
|
||||
this.<@Nullable Lib>x8(lib);
|
||||
default void useLibUnspec(@NullnessUnspecified Lib lib, int i) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x0(lib);
|
||||
case 1:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x1(lib);
|
||||
case 2:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x2(lib);
|
||||
case 3:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x3(lib);
|
||||
case 4:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x4(lib);
|
||||
case 5:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x5(lib);
|
||||
case 6:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x6(lib);
|
||||
case 7:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x7(lib);
|
||||
case 8:
|
||||
this.<@Nullable Lib>x8(lib);
|
||||
}
|
||||
}
|
||||
|
||||
default void useLibUnionNull(@Nullable Lib lib) {
|
||||
// jspecify_nullness_mismatch
|
||||
x0(lib);
|
||||
// jspecify_nullness_mismatch
|
||||
x1(lib);
|
||||
// jspecify_nullness_mismatch
|
||||
x2(lib);
|
||||
// jspecify_nullness_mismatch
|
||||
x3(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x4(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x5(lib);
|
||||
// jspecify_nullness_mismatch
|
||||
x6(lib);
|
||||
// jspecify_nullness_not_enough_information
|
||||
x7(lib);
|
||||
x8(lib);
|
||||
default void useLibUnionNull(@Nullable Lib lib, int i) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
// jspecify_nullness_mismatch
|
||||
x0(lib);
|
||||
case 1:
|
||||
// jspecify_nullness_mismatch
|
||||
x1(lib);
|
||||
case 2:
|
||||
// jspecify_nullness_mismatch
|
||||
x2(lib);
|
||||
case 3:
|
||||
// jspecify_nullness_mismatch
|
||||
x3(lib);
|
||||
case 4:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x4(lib);
|
||||
case 5:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x5(lib);
|
||||
case 6:
|
||||
// jspecify_nullness_mismatch
|
||||
x6(lib);
|
||||
case 7:
|
||||
// jspecify_nullness_not_enough_information
|
||||
x7(lib);
|
||||
case 8:
|
||||
x8(lib);
|
||||
}
|
||||
}
|
||||
|
||||
interface Lib {}
|
||||
}
|
||||
}
|
||||
+1
-6
@@ -38,9 +38,6 @@ public class JSpecifyFilteredAnnotationTest extends JSpecifyAnnotationTest {
|
||||
new Pair<>("DereferenceTypeVariable.java", 117), // see: IDEA-377688
|
||||
new Pair<>("TypeVariableToObject.java", 104), // see: IDEA-377688
|
||||
|
||||
new Pair<>("IntersectionSupertype.java", 76), // see: IDEA-377689
|
||||
new Pair<>("IntersectionSupertype.java", 84), // see: IDEA-377689
|
||||
|
||||
new Pair<>("NullLiteralToTypeVariable.java", 58), // see: IDEA-377691
|
||||
new Pair<>("NullLiteralToTypeVariable.java", 78), // see: IDEA-377691
|
||||
new Pair<>("NullLiteralToTypeVariable.java", 98), // see: IDEA-377691
|
||||
@@ -81,7 +78,7 @@ public class JSpecifyFilteredAnnotationTest extends JSpecifyAnnotationTest {
|
||||
)
|
||||
),
|
||||
new SkipIndividuallyFilter( //cases to investigate. (line number starts from 0)
|
||||
Set.<Pair<String, Integer>>of(
|
||||
Set.of(
|
||||
new Pair<>("AnnotatedBoundsOfWildcard.java", 74), // @unspecified, skip
|
||||
new Pair<>("AnnotatedBoundsOfWildcard.java", 76), // @unspecified, skip
|
||||
new Pair<>("ComplexParametric.java", 158), // @unspecified, skip
|
||||
@@ -90,8 +87,6 @@ public class JSpecifyFilteredAnnotationTest extends JSpecifyAnnotationTest {
|
||||
new Pair<>("ComplexParametric.java", 238), // @unspecified, skip
|
||||
new Pair<>("ComplexParametric.java", 246), // @unspecified, skip
|
||||
new Pair<>("DereferenceTypeVariable.java", 123), // @unspecified, skip
|
||||
new Pair<>("IntersectionSupertype.java", 74), // @unspecified, skip
|
||||
new Pair<>("IntersectionSupertype.java", 78), // @unspecified, skip
|
||||
new Pair<>("MultiBoundTypeVariableToObject.java", 43), // @unspecified, skip
|
||||
new Pair<>("MultiBoundTypeVariableToObject.java", 52), // @unspecified, skip
|
||||
new Pair<>("MultiBoundTypeVariableToOther.java", 43), // @unspecified, skip
|
||||
|
||||
Reference in New Issue
Block a user