diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/MaxLoop.java b/java/java-tests/testData/inspection/dataFlow/fixture/MaxLoop.java new file mode 100644 index 000000000000..6af53fa0a778 --- /dev/null +++ b/java/java-tests/testData/inspection/dataFlow/fixture/MaxLoop.java @@ -0,0 +1,23 @@ +import java.util.Collection; + +class X { + public Foo test(Collection collection) { + Foo result = null; + int resultWeight = -1; + for (Foo foo : collection) { + int fooWeight = foo.getWeight(); + if (result == null || resultWeight <= fooWeight) { + result = foo; + resultWeight = fooWeight; + } + } + if (result == null) { + throw new RuntimeException(); + } + return result; + } +} + +interface Foo { + int getWeight(); +} diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java index 0ef17234cae7..2cae61558ad7 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java @@ -646,4 +646,5 @@ public class DataFlowInspectionTest extends DataFlowInspectionTestCase { public void testIncompleteArrayAccessInLoop() { doTest(); } public void testSameArguments() { doTest(); } + public void testMaxLoop() { doTest(); } }