Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/ChainedFinalFieldsDfa.java

40 lines
1.5 KiB
Java

import org.jetbrains.annotations.Nullable;
class BrokenAlignment {
void main(Data data) {
if (data.text != null) {
System.out.println(data.text.hashCode());
}
data = new Data(null, <warning descr="Passing 'null' argument to non-annotated parameter">null</warning>);
System.out.println(data.text.<warning descr="Method invocation 'hashCode' may produce 'NullPointerException'">hashCode</warning>());
if (data.inner != null) {
System.out.println(data.inner.hashCode());
System.out.println(data.inner.text.<warning descr="Method invocation 'hashCode' may produce 'NullPointerException'">hashCode</warning>());
if (<warning descr="Condition 'data.inner != null' is always 'true'">data.inner != null</warning>) {
System.out.println(data.inner.hashCode());
}
data = new Data(null, <warning descr="Passing 'null' argument to non-annotated parameter">null</warning>);
System.out.println(data.inner.<warning descr="Method invocation 'hashCode' may produce 'NullPointerException'">hashCode</warning>());
}
}
void main2(Data data) {
if (data.inner != null && data.inner.text != null) {
System.out.println(data.inner.hashCode());
System.out.println(data.inner.text.hashCode());
}
}
private static class Data {
@Nullable public final String text;
@Nullable public final Data inner;
Data(@Nullable String text, Data inner) {
this.text = text;
this.inner = inner;
}
}
}