Files
Tagir Valeevandintellij-monorepo-bot 3fa435048c [java-analysis] Support @UnknownNullability annotation
Fixes IDEA-266098 Constant conditions & exceptions: allow for more fine-grained control regarding NPE

GitOrigin-RevId: 32a7b59a0f2c73b6b293b21a8fc0f837a64c3a89
2021-04-15 08:59:00 +03:00

33 lines
988 B
Java

import org.jetbrains.annotations.*;
class UnknownNullabilityTest {
static final String getString() {
return "foo";
}
static final @UnknownNullability String getString2() {
return "foo";
}
static final String getStringNullable() {
return Math.random() > 0.5 ? "foo" : null;
}
static final @UnknownNullability String getStringNullable2() {
return Math.random() > 0.5 ? "foo" : null;
}
void check() {
if (<warning descr="Condition 'getString() == null' is always 'false'">getString() == null</warning>) {}
if (getString2() == null) {}
if (getStringNullable() == null) {}
if (getStringNullable2() == null) {}
}
void deref() {
if (Math.random() > 0.5) getString().trim();
if (Math.random() > 0.5) getString2().trim();
if (Math.random() > 0.5) getStringNullable().<warning descr="Method invocation 'trim' may produce 'NullPointerException'">trim</warning>();
if (Math.random() > 0.5) getStringNullable2().trim();
}
}