diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowRunner.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowRunner.java index e6d3527feccb..c07a6de15eb9 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowRunner.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowRunner.java @@ -220,6 +220,9 @@ public class DataFlowRunner { for (PsiClassInitializer initializer : nestedClass.getInitializers()) { myNestedClosures.putValue(initializer.getBody(), closureState); } + for (PsiField field : nestedClass.getFields()) { + myNestedClosures.putValue(field, closureState); + } } protected ControlFlowAnalyzer createControlFlowAnalyzer() { diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/FieldInitializerInAnonymous.java b/java/java-tests/testData/inspection/dataFlow/fixture/FieldInitializerInAnonymous.java index 0eddf388f4c2..5dc28740cba1 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/FieldInitializerInAnonymous.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/FieldInitializerInAnonymous.java @@ -2,13 +2,14 @@ import org.jetbrains.annotations.Nullable; class Zoo2 { - void foo(@Nullable Object foo) { + void foo(@Nullable Object foo, @Nullable Object bar) { if (foo == null) { return; } new Runnable() { int hc = foo.hashCode(); + int hc2 = bar.hashCode(); public void run() { }