summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java')
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java b/java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java
new file mode 100644
index 000000000000..a1d263f778f6
--- /dev/null
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/ContractInferenceBewareOverriding.java
@@ -0,0 +1,21 @@
+import org.jetbrains.annotations.Nullable;
+
+class Doo {
+
+ boolean isMaybeNotNull(@Nullable Object o) {
+ return o != null;
+ }
+
+ void foo(@Nullable String s) {
+ if (isMaybeNotNull(s)) {
+ System.out.println(<warning descr="Method invocation 's.length()' may produce 'java.lang.NullPointerException'">s.length()</warning>);
+ }
+ }
+
+}
+
+class DooImpl extends Doo {
+ boolean isMaybeNotNull(@Nullable Object o) {
+ return hashCode() == 42;
+ }
+} \ No newline at end of file