Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/MethodParametersCanChangeNullability.java
T
2017-03-01 15:31:24 +01:00

42 lines
831 B
Java

import org.jetbrains.annotations.*;
class Test {
@Nullable
String findMessage(@NotNull Element element) {
while (element != null) {
if (element.getMessage() != null) {
return element.getMessage();
}
element = element.getParent();
}
return null;
}
@Nullable
String findMessageWithNullableParent(@NotNull Element element) {
while (element != null) {
if (element.getMessage() != null) {
return element.getMessage();
}
element = element.getNullableParent();
}
return null;
}
void foo(@NotNull String param) {
if (equals(3)) {
param = null;
}
if (param != null) {
System.out.println();
}
}
}
interface Element {
Element getParent();
@Nullable Element getNullableParent();
@Nullable String getMessage();
}