summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/inspection/dataFlow
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/inspection/dataFlow')
-rw-r--r--java/java-tests/testData/inspection/dataFlow/CheckedExceptionDominance/src/Test.java2
-rw-r--r--java/java-tests/testData/inspection/dataFlow/IDEADEV10489/expected.xml2
-rw-r--r--java/java-tests/testData/inspection/dataFlow/IDEADEV10489/src/IDEADEV10489.java8
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/AssertFailInCatch.java4
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/CatchThrowable.java4
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/ContractWithNoArgs.java24
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/CustomTypeQualifierDefault.java25
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/FloatComparisons.java7
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