diff --git a/java/java-psi-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java b/java/java-psi-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java index 6cdd9f615235..2c512c3b252e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java @@ -146,7 +146,7 @@ public class DefUseUtil { ControlFlow flow; try { - flow = ControlFlowFactory.getInstance(body.getProject()).getControlFlow(body, ourPolicy); + flow = ControlFlowFactory.getInstance(body.getProject()).getControlFlow(body, ourPolicy, false); } catch (AnalysisCanceledException e) { return null; diff --git a/java/java-tests/testData/inspection/defUse/UnderAlwaysFalseCondition.java b/java/java-tests/testData/inspection/defUse/UnderAlwaysFalseCondition.java new file mode 100644 index 000000000000..e8ac690e511d --- /dev/null +++ b/java/java-tests/testData/inspection/defUse/UnderAlwaysFalseCondition.java @@ -0,0 +1,8 @@ +class C { + void foo(int n) { + if (false) { + int[] a = new int[n]; + a[0] = 1; + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DefUseTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DefUseTest.java index 6bdd1dbedfa5..960f259abebf 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DefUseTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DefUseTest.java @@ -69,6 +69,7 @@ public class DefUseTest extends LightCodeInsightFixtureTestCase { } public void testFieldInitializerUsedInMethodReference() { doTest(); } public void testFieldInitializerChainedConstructor() { doTest(); } + public void testUnderAlwaysFalseCondition() { doTest(); } @NotNull @Override