core: fix loop detection

This commit is contained in:
Skylot
2014-02-25 23:53:30 +04:00
parent 2b300341a0
commit 2cf28eb2e7
5 changed files with 117 additions and 4 deletions
@@ -87,6 +87,23 @@ public class TestCF3 extends AbstractTest {
return j > 10;
}
private int testLoops(int[] a, int b) {
int i = 0;
while (i < a.length && i < b) {
a[i]++;
i++;
}
while (i < a.length) {
a[i]--;
i++;
}
int sum = 0;
for (int e : a) {
sum += e;
}
return sum;
}
public static boolean testLabeledBreakContinue() {
String searchMe = "Look for a substring in me";
String substring = "sub";
@@ -227,6 +244,8 @@ public class TestCF3 extends AbstractTest {
assertEquals(testComplexIfInLoop3(6), 6);
assertEquals(testComplexIfInLoop3(8), 24);
assertEquals(testLoops(new int[]{1, 2, 3, 4, 5, 6}, 2), 19);
assertTrue(testInline() > 20);
assertTrue(testInline2());
return true;