diff --git a/java/java-tests/testData/inspection/dataFlow/jspecify/IntersectionSupertype.java b/java/java-tests/testData/inspection/dataFlow/jspecify/IntersectionSupertype.java index c50f1943b3c3..5360364fb56a 100644 --- a/java/java-tests/testData/inspection/dataFlow/jspecify/IntersectionSupertype.java +++ b/java/java-tests/testData/inspection/dataFlow/jspecify/IntersectionSupertype.java @@ -37,57 +37,90 @@ interface IntersectionSupertype { 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 {} -} +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/JSpecifyFilteredAnnotationTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/JSpecifyFilteredAnnotationTest.java index 48c9d537487a..29c214a071fb 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/JSpecifyFilteredAnnotationTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/JSpecifyFilteredAnnotationTest.java @@ -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.>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