int (Statement stat) { boolean res = false; while (true) { boolean updated = false; for (Statement st : stat.getStats()) { int extr = extractLoopsRec(st); res |= (extr != 0); if (extr == 2) { updated = true; break; } } if (!updated) { break; } } if (stat.type == StatementType.DO) { if (extractLoop((DoStatement)stat)) { return 2; } } return res ? 1 : 0; }