blob: 9452d00db65203bf04cc7d7a859e3fe4c857a4f0 [file] [log] [blame]
package com.siyeh.igtest.migration.while_can_be_foreach;
import java.util.*;
public class WhileCanBeForeachInspection {
public int baz() {
int total = 0;
final List ints = new ArrayList();
Iterator iterator = ints.iterator();
while ( iterator.hasNext()) {
total += (Integer) iterator.next();
}
return total;
}
public int bas() {
int total = 0;
final List ints = new ArrayList();
Iterator iterator = ints.iterator();
while ( iterator.hasNext()) {
total += (Integer) iterator.next();
}
iterator = ints.iterator(); // write use here
return total;
}
public int xxx() {
int total = 0;
final List ints = new ArrayList();
Iterator<Integer> iterator = ints.iterator();
while (iterator.hasNext()) {
total += iterator.next();
}
System.out.println("iterator: " + iterator); // read use here
return total;
}
void no(Collection pbps, Map tracksToPBP) {
final Iterator pbpsIt = pbps.iterator();
while (pbpsIt.hasNext()) {
final String pbp = (String) pbpsIt.next();
final Iterator trackIt = it();
while (trackIt.hasNext()) {
final String trackElement = (String) trackIt.next();
tracksToPBP.put(trackElement, pbp);
}
}
}
Iterator it() {
return null;
}
private void qwe() {
Iterator iter = new ArrayList().iterator();
while (iter.hasNext()) {
Object o = iter.next();
if(o instanceof String)
break;
}
while (iter.hasNext()) { // same iterator is used here
Object o = iter.next();
}
}
int strange() {
int total = 0;
final List ints = new ArrayList();
ListIterator iterator = ints.listIterator();
while ( iterator.hasNext()) {
final Object next = iterator.next();
total += (Integer) next;
}
return total;
}
void foo(List<String> list, String newCd) {
final ListIterator<String> iter = list.listIterator();
while( iter.hasNext() )
{
final String cd = iter.next();
if( cd.getBytes().equals( newCd.getBytes() ) )
{
iter.add( newCd );
return;
}
}
}
void a() {
List<String> list = new ArrayList();
ListIterator<String> it = list.listIterator(10);
//Intention here:
while (it.hasNext()) { // don't warn because listIterator starts at index 10
System.out.println(it.next());
}
}
}
class Base implements Iterable<String> {
@Override
public Iterator<String> iterator() {
return null;
}
}
class Sub extends Base {
@Override
public Iterator<String> iterator() {
ArrayList<String> strings = new ArrayList<String>();
Iterator<String> superIterator = super.iterator();
while (superIterator.hasNext()) {
String str = superIterator.next();
strings.add(str + str);
}
return strings.iterator();
}
}