langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ListBuffer.java
changeset 42828 cce89649f958
parent 29291 076c277565f7
equal deleted inserted replaced
42827:36468b5fa7f4 42828:cce89649f958
   101      */
   101      */
   102     private void copy() {
   102     private void copy() {
   103         if (elems.nonEmpty()) {
   103         if (elems.nonEmpty()) {
   104             List<A> orig = elems;
   104             List<A> orig = elems;
   105 
   105 
   106             elems = last = List.<A>of(orig.head);
   106             elems = last = List.of(orig.head);
   107 
   107 
   108             while ((orig = orig.tail).nonEmpty()) {
   108             while ((orig = orig.tail).nonEmpty()) {
   109                 last.tail = List.<A>of(orig.head);
   109                 last.tail = List.of(orig.head);
   110                 last = last.tail;
   110                 last = last.tail;
   111             }
   111             }
   112         }
   112         }
   113     }
   113     }
   114 
   114 
   124     /** Append an element to buffer.
   124     /** Append an element to buffer.
   125      */
   125      */
   126     public ListBuffer<A> append(A x) {
   126     public ListBuffer<A> append(A x) {
   127         Assert.checkNonNull(x);
   127         Assert.checkNonNull(x);
   128         if (shared) copy();
   128         if (shared) copy();
   129         List<A> newLast = List.<A>of(x);
   129         List<A> newLast = List.of(x);
   130         if (last != null) {
   130         if (last != null) {
   131             last.tail = newLast;
   131             last.tail = newLast;
   132             last = newLast;
   132             last = newLast;
   133         } else {
   133         } else {
   134             elems = last = newLast;
   134             elems = last = newLast;