ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/ArrayDeque.java
(Generate patch)

Comparing jsr166/src/main/java/util/ArrayDeque.java (file contents):
Revision 1.95 by jsr166, Sat Oct 29 19:10:27 2016 UTC vs.
Revision 1.97 by jsr166, Sat Oct 29 21:10:34 2016 UTC

# Line 243 | Line 243 | public class ArrayDeque<E> extends Abstr
243       * but does catch ones that corrupt traversal.  It's a little
244       * surprising that javac allows this abuse of generics.
245       */
246 <    static final <E> E nonNullElementAt(Object[] elements, int i) {
247 <        @SuppressWarnings("unchecked") E e = (E) elements[i];
246 >    static final <E> E nonNullElementAt(Object[] es, int i) {
247 >        @SuppressWarnings("unchecked") E e = (E) es[i];
248          if (e == null)
249              throw new ConcurrentModificationException();
250          return e;
# Line 874 | Line 874 | public class ArrayDeque<E> extends Abstr
874       * checks for concurrent modification, for use in iterators.
875       */
876      static <E> void forEachRemaining(
877 <        Consumer<? super E> action, Object[] elements, int i, int remaining) {
877 >        Consumer<? super E> action, Object[] es, int i, int remaining) {
878          Objects.requireNonNull(action);
879 <        final int capacity = elements.length;
879 >        final int capacity = es.length;
880          int end, to, todo;
881          todo = (end = i + remaining)
882              - (to = (capacity - end >= 0) ? end : capacity);
883          for (;; to = todo, i = 0, todo = 0) {
884              for (; i < to; i++)
885 <                action.accept(nonNullElementAt(elements, i));
885 >                action.accept(nonNullElementAt(es, i));
886              if (todo == 0) break;
887          }
888      }
889  
890      static <E> void forEachRemainingDescending(
891 <        Consumer<? super E> action, Object[] elements, int i, int remaining) {
891 >        Consumer<? super E> action, Object[] es, int i, int remaining) {
892          Objects.requireNonNull(action);
893 <        final int capacity = elements.length;
893 >        final int capacity = es.length;
894          int end, to, todo;
895          todo = (to = ((end = i - remaining) >= -1) ? end : -1) - end;
896          for (;; to = (i = capacity - 1) - todo, todo = 0) {
897              for (; i > to; i--)
898 <                action.accept(nonNullElementAt(elements, i));
898 >                action.accept(nonNullElementAt(es, i));
899              if (todo == 0) break;
900          }
901      }
# Line 1035 | Line 1035 | public class ArrayDeque<E> extends Abstr
1035      /**
1036       * Nulls out count elements, starting at array index from.
1037       */
1038 <    private static void clearSlice(Object[] elements, int from, int count) {
1039 <        final int capacity = elements.length, end = from + count;
1038 >    private static void clearSlice(Object[] es, int from, int count) {
1039 >        final int capacity = es.length, end = from + count;
1040          final int leg = (capacity - end >= 0) ? end : capacity;
1041 <        Arrays.fill(elements, from, leg, null);
1041 >        Arrays.fill(es, from, leg, null);
1042          if (leg != end)
1043 <            Arrays.fill(elements, 0, end - capacity, null);
1043 >            Arrays.fill(es, 0, end - capacity, null);
1044      }
1045  
1046      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines