IDEA-119663 false positive Constant conditions & exceptions: "Argument ... might be null"

This commit is contained in:
peter
2014-01-23 09:53:53 +01:00
parent 32ff62156a
commit 404f4e3fca
3 changed files with 49 additions and 3 deletions
@@ -0,0 +1,46 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class TestInspection {
private static class StringWrapper {
private String inner = null;
@Nullable
public String getString() {
return inner;
}
}
@NotNull
private final StringWrapper wrapper;
@Nullable
private String string = null;
public TestInspection() {
wrapper = new StringWrapper();
}
public void doTest() {
if (this.wrapper.getString() != null) {
doSomething(this.wrapper.getString());
}
if (this.wrapper.getString() != null) {
doSomething(wrapper.getString());
}
if (wrapper.getString() != null) {
doSomething(this.wrapper.getString());
}
if (wrapper.getString() != null) {
doSomething(wrapper.getString());
}
if (this.string != null) {
doSomething(this.string);
}
}
private void doSomething(@NotNull String s) {
//...
}
}
@@ -104,6 +104,7 @@ public class DataFlowInspectionTest extends LightCodeInsightFixtureTestCase {
public void testChainedFinalFieldAccessorsDfa() throws Throwable { doTest(); }
public void testAccessorPlusMutator() throws Throwable { doTest(); }
public void testClosureVariableField() throws Throwable { doTest(); }
public void testOptionalThis() { doTest(); }
public void testAssigningNullableToNotNull() throws Throwable { doTest(); }
public void testAssigningUnknownToNullable() throws Throwable { doTest(); }