Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/PrivateMethodDoNotFlushFinalFields.java
2025-01-17 20:33:14 +00:00

46 lines
743 B
Java

import org.jetbrains.annotations.Nullable;
abstract class Foo {
private final Bar bar;
@Nullable
public Object foo() {
return bar != null ? bar.a().getObj(getIt(), bar.b()) : null;
}
protected Foo(@Nullable Bar bar) {
this.bar = bar;
}
private String getIt() {
return "it";
}
}
record Bar(A a, B b) {
}
record A() {
Object getObj(String s, B b) {return new Object();}
}
record B() {}
// IDEA-365762
class Test {
private final @Nullable Object finalField;
public Test(@Nullable Object finalField) {
this.finalField = finalField;
}
public void test() {
if (finalField != null) {
finalField.toString();
nop();
finalField.toString();
}
}
private void nop() {
}
}