Files
openide/java/java-tests/testData/inspection/listRemoveInLoop/ListRemoveInLoop.java
Bas Leijdekkers 8a404b9c55 better inspection name
GitOrigin-RevId: d95535ca7077638747428a79348dfcbc0038f39e
2021-04-24 13:12:24 +00:00

58 lines
1.4 KiB
Java

import java.util.*;
class Test {
void processList(List<String> list, int start) {
for(int i=start; i<list.size(); i++) {
if(list.get(i).isEmpty()) {
list.<warning descr="Suspicious 'List.remove()' in loop">remove</warning>(i);
}
}
}
void processAndCorrect(List<String> list, int start) {
for(int i=start; i<list.size(); i++) {
if(list.get(i).isEmpty()) {
list.remove(i);
i--;
}
}
}
void processSingle(List<String> list, int start) {
for(int i=start; i<list.size(); i++) {
if(list.get(i).isEmpty()) {
list.remove(i);
break;
}
}
}
void processContinue(List<String> list, int start) {
for(int i=start; i<list.size(); i++) {
if(list.get(i).isEmpty()) {
list.<warning descr="Suspicious 'List.remove()' in loop">remove</warning>(i);
continue;
}
System.out.println(list.get(i));
}
}
void processContinueOuter(List<String> list, int[] starts) {
OUTER:
for(int start : starts) {
for (int i = start; i < list.size(); i++) {
if (list.get(i).isEmpty()) {
list.remove(i);
continue OUTER;
}
System.out.println(list.get(i));
}
}
}
void deleteTail(List<String> list, int from) {
for(int i=from; i<list.size(); i++) {
list.<warning descr="Suspicious 'List.remove()' in loop">remove</warning>(i);
}
}
}