diff options
Diffstat (limited to 'java/java-tests/testData/inspection/dataFlow')
8 files changed, 64 insertions, 12 deletions
diff --git a/java/java-tests/testData/inspection/dataFlow/CheckedExceptionDominance/src/Test.java b/java/java-tests/testData/inspection/dataFlow/CheckedExceptionDominance/src/Test.java index 4a0a690f0e21..4f0586d30a96 100644 --- a/java/java-tests/testData/inspection/dataFlow/CheckedExceptionDominance/src/Test.java +++ b/java/java-tests/testData/inspection/dataFlow/CheckedExceptionDominance/src/Test.java @@ -19,6 +19,6 @@ } public static void bar() throws CheckedException { - throw new CheckedException(); + if (new Random().nextInt() > 2) throw new CheckedException(); } } diff --git a/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/expected.xml b/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/expected.xml index bb6256f74012..4a088210968c 100644 --- a/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/expected.xml +++ b/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/expected.xml @@ -7,7 +7,7 @@ </problem> <problem> <file>IDEADEV10489.java</file> - <line>12</line> + <line>8</line> <description>Method invocation 's.length()' may produce NullPointerException</description> </problem> </problems>
\ No newline at end of file diff --git a/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/src/IDEADEV10489.java b/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/src/IDEADEV10489.java index 60259479d353..ee41e588dd3e 100644 --- a/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/src/IDEADEV10489.java +++ b/java/java-tests/testData/inspection/dataFlow/IDEADEV10489/src/IDEADEV10489.java @@ -1,7 +1,5 @@ class IDEADEV10489 { - static String getS() { - return null; - } + static native String getS(); static void f() { String s = getS(); @@ -17,7 +15,5 @@ class IDEADEV10489 { } } - private static boolean foo() { - return false; - } + private static native boolean foo(); }
\ No newline at end of file diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/AssertFailInCatch.java b/java/java-tests/testData/inspection/dataFlow/fixture/AssertFailInCatch.java index 93fcf6d5c2d2..55c7c2b51de0 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/AssertFailInCatch.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/AssertFailInCatch.java @@ -18,7 +18,5 @@ class Test { } } - private static @NotNull String createString() { - throw new NullPointerException(); - } + private static native @NotNull String createString(); }
\ No newline at end of file diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/CatchThrowable.java b/java/java-tests/testData/inspection/dataFlow/fixture/CatchThrowable.java index ecb9b264bb62..a30d934f64b6 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/CatchThrowable.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/CatchThrowable.java @@ -1,3 +1,5 @@ +import java.util.Random; + class BrokenAlignment { public static void main(String[] args) { @@ -20,7 +22,7 @@ class BrokenAlignment { } public static void doSomething() { - throw new RuntimeException("dummy"); + if (new Random().nextInt() > 2) throw new RuntimeException("dummy"); } }
\ No newline at end of file diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/ContractWithNoArgs.java b/java/java-tests/testData/inspection/dataFlow/fixture/ContractWithNoArgs.java new file mode 100644 index 000000000000..006c2e3407ec --- /dev/null +++ b/java/java-tests/testData/inspection/dataFlow/fixture/ContractWithNoArgs.java @@ -0,0 +1,24 @@ +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +class Doo { + + @NotNull + public String doSomething() { + String s = getSomeString(); + if (s == null) { + throwSomeError(); + } + return s; + } + + private static void throwSomeError() { + throw new RuntimeException(); + } + + @Nullable + public String getSomeString() { + return Math.random() > 0.5 ? null : "Yeah"; + } + +} diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/CustomTypeQualifierDefault.java b/java/java-tests/testData/inspection/dataFlow/fixture/CustomTypeQualifierDefault.java new file mode 100644 index 000000000000..e9ec6b1dbe11 --- /dev/null +++ b/java/java-tests/testData/inspection/dataFlow/fixture/CustomTypeQualifierDefault.java @@ -0,0 +1,25 @@ +import foo.*; +import org.jetbrains.annotations.NotNull; + +class Some { + void foo(@NotNull String s) { + NotNullClass.foo(null); + if (<warning descr="Condition 'NotNullClass.foo(s) == null' is always 'false'">NotNullClass.foo(s) == null</warning>) {} + + NullableClass.foo(null); + if (NullableClass.foo("a") == null) {} + + AnotherPackageNotNull.foo(null); + if (<warning descr="Condition 'AnotherPackageNotNull.foo(s) == null' is always 'false'">AnotherPackageNotNull.foo(s) == null</warning>) {} + } + +} + +@bar.MethodsAreNotNullByDefault +class NotNullClass { + static native Object foo(String s); + +} +class NullableClass { + static native Object foo(String s); +}
\ No newline at end of file diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/FloatComparisons.java b/java/java-tests/testData/inspection/dataFlow/fixture/FloatComparisons.java new file mode 100644 index 000000000000..5c553bcba0bf --- /dev/null +++ b/java/java-tests/testData/inspection/dataFlow/fixture/FloatComparisons.java @@ -0,0 +1,7 @@ +class Test { + public static void testFunc(final float width, final float height) { + if (width < 0f || height < 0f) { + throw new IllegalArgumentException("Size must be non-negative"); + } + } +}
\ No newline at end of file |