summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/inspection/dataFlow/fixture/ReportConstantReferences.java
blob: dbb4f50f44a54f4545b1cf4014731f6886a479b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

class Test {
  private void test2(@NotNull Object bar) {}

  void println(@Nullable Object o) {}

  private Object test(Object foo, Object bar) {
    if (foo == null) {
      println(<warning descr="Value 'foo' is always 'null'"><caret>foo</warning>);
      println(<warning descr="Value 'foo' is always 'null'">foo</warning>);
      return <warning descr="Expression 'foo' might evaluate to null but is returned by the method which is not declared as @Nullable">foo</warning>;
    }
    if (bar == null) {
      test2(<warning descr="Argument 'bar' might be null">bar</warning>);
    }
    return foo;
  }

  public void testDontReplaceQualifierWithNull(Object bar) {
    if (bar == null) {
      <warning descr="Method invocation 'bar.hashCode()' may produce 'java.lang.NullPointerException'">bar.hashCode()</warning>;
    }
  }

}