You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
891 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import java.util.*;
class Iterators {
void hasNextOk(List<Integer> xs) {
Iterator<Integer> i = xs.iterator();
if (i.hasNext()) i.next();
}
void hasNextBad(List<Integer> xs) {
Iterator<Integer> i = xs.iterator();
i.next();
}
/** Check that errors don't bubble up the call chain. */
void hasNextNotTooBadOk(List<Integer> xs) {
hasNextBad(xs);
}
void hasNextInterproceduralBad(List<Integer> xs) {
getSingleElementOk(xs.iterator());
}
void hasNextInterproceduralOk(List<Integer> xs) {
Iterator<Integer> i = xs.iterator();
if (i.hasNext()) {
getSingleElementOk(i);
}
}
void getSingleElementOk(Iterator<Integer> i) {
i.next();
}
}