@@ -103,8 +103,8 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
103103 * @note Reuse: $consumesAndProducesIterator
104104 */
105105 def buffered : BufferedIterator [A ] = new AbstractIterator [A ] with BufferedIterator [A ] {
106- private var hd : A = _
107- private var hdDefined : Boolean = false
106+ private [ this ] var hd : A = _
107+ private [ this ] var hdDefined : Boolean = false
108108
109109 def head : A = {
110110 if (! hdDefined) {
@@ -308,13 +308,13 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
308308 def scanLeft [B ](z : B )(op : (B , A ) => B ): Iterator [B ] = new AbstractIterator [B ] {
309309 // We use an intermediate iterator that iterates through the first element `z`
310310 // and then that will be modified to iterate through the collection
311- private var current : Iterator [B ] =
311+ private [ this ] var current : Iterator [B ] =
312312 new AbstractIterator [B ] {
313313 def hasNext : Boolean = true
314314 def next (): B = {
315315 // Here we change our self-reference to a new iterator that iterates through `self`
316316 current = new AbstractIterator [B ] {
317- private var acc = z
317+ private [ this ] var acc = z
318318 def next (): B = {
319319 acc = op(acc, self.next())
320320 acc
@@ -381,8 +381,8 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
381381 def filterNot (p : A => Boolean ): Iterator [A ] = filterImpl(p, isFlipped = true )
382382
383383 private [collection] def filterImpl (p : A => Boolean , isFlipped : Boolean ): Iterator [A ] = new AbstractIterator [A ] {
384- private var hd : A = _
385- private var hdDefined : Boolean = false
384+ private [ this ] var hd : A = _
385+ private [ this ] var hdDefined : Boolean = false
386386
387387 def hasNext : Boolean = hdDefined || {
388388 do {
@@ -457,9 +457,9 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
457457 */
458458 def distinctBy [B ](f : A => B ): Iterator [A ] = new AbstractIterator [A ] {
459459
460- private val traversedValues = mutable.HashSet .empty[B ]
461- private var nextElementDefined : Boolean = false
462- private var nextElement : A = _
460+ private [ this ] val traversedValues = mutable.HashSet .empty[B ]
461+ private [ this ] var nextElementDefined : Boolean = false
462+ private [ this ] var nextElement : A = _
463463
464464 def hasNext : Boolean = {
465465 @ tailrec
@@ -496,7 +496,7 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
496496 }
497497
498498 def flatMap [B ](f : A => IterableOnce [B ]): Iterator [B ] = new AbstractIterator [B ] {
499- private var myCurrent : Iterator [B ] = Iterator .empty
499+ private [ this ] var myCurrent : Iterator [B ] = Iterator .empty
500500 private def current = {
501501 while (! myCurrent.hasNext && self.hasNext)
502502 myCurrent = f(self.next()).iterator
@@ -514,7 +514,7 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
514514 @ `inline` final def ++ [B >: A ](xs : => IterableOnce [B ]): Iterator [B ] = concat(xs)
515515
516516 def take (n : Int ): Iterator [A ] = new AbstractIterator [A ] {
517- private var i = 0
517+ private [ this ] var i = 0
518518 def hasNext = self.hasNext && i < n
519519 def next () =
520520 if (hasNext) {
@@ -525,9 +525,9 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
525525 }
526526
527527 def takeWhile (p : A => Boolean ): Iterator [A ] = new AbstractIterator [A ] {
528- private var hd : A = _
529- private var hdDefined : Boolean = false
530- private var tail : Iterator [A ] = self
528+ private [ this ] var hd : A = _
529+ private [ this ] var hdDefined : Boolean = false
530+ private [ this ] var tail : Iterator [A ] = self
531531
532532 def hasNext = hdDefined || tail.hasNext && {
533533 hd = tail.next()
@@ -779,8 +779,8 @@ trait Iterator[+A] extends IterableOnce[A] with IterableOnceOps[A, Iterator, Ite
779779 */
780780 def patch [B >: A ](from : Int , patchElems : Iterator [B ], replaced : Int ): Iterator [B ] =
781781 new AbstractIterator [B ] {
782- private var origElems = self
783- private var i = if (from > 0 ) from else 0 // Counts down, switch to patch on 0, -1 means use patch first
782+ private [ this ] var origElems = self
783+ private [ this ] var i = if (from > 0 ) from else 0 // Counts down, switch to patch on 0, -1 means use patch first
784784 def hasNext : Boolean = {
785785 if (i == 0 ) {
786786 origElems = origElems drop replaced
@@ -841,7 +841,7 @@ object Iterator extends IterableFactory[Iterator] {
841841 @ `inline` final def empty [T ]: Iterator [T ] = _empty
842842
843843 def single [A ](a : A ): Iterator [A ] = new AbstractIterator [A ] {
844- private var consumed : Boolean = false
844+ private [ this ] var consumed : Boolean = false
845845 def hasNext = ! consumed
846846 def next () = if (consumed) empty.next() else { consumed = true ; a }
847847 }
@@ -864,7 +864,7 @@ object Iterator extends IterableFactory[Iterator] {
864864 * @return An iterator that produces the results of `n` evaluations of `elem`.
865865 */
866866 override def fill [A ](len : Int )(elem : => A ): Iterator [A ] = new AbstractIterator [A ] {
867- private var i = 0
867+ private [ this ] var i = 0
868868 def hasNext : Boolean = i < len
869869 def next (): A =
870870 if (hasNext) { i += 1 ; elem }
@@ -878,7 +878,7 @@ object Iterator extends IterableFactory[Iterator] {
878878 * @return An iterator that produces the values `f(0), ..., f(n -1)`.
879879 */
880880 override def tabulate [A ](end : Int )(f : Int => A ): Iterator [A ] = new AbstractIterator [A ] {
881- private var i = 0
881+ private [ this ] var i = 0
882882 def hasNext : Boolean = i < end
883883 def next (): A =
884884 if (hasNext) { val result = f(i); i += 1 ; result }
@@ -899,7 +899,7 @@ object Iterator extends IterableFactory[Iterator] {
899899 * @return the iterator producing the infinite sequence of values `start, start + 1 * step, start + 2 * step, ...`
900900 */
901901 def from (start : Int , step : Int ): Iterator [Int ] = new AbstractIterator [Int ] {
902- private var i = start
902+ private [ this ] var i = start
903903 def hasNext : Boolean = true
904904 def next (): Int = { val result = i; i += step; result }
905905 }
@@ -921,8 +921,8 @@ object Iterator extends IterableFactory[Iterator] {
921921 */
922922 def range (start : Int , end : Int , step : Int ): Iterator [Int ] = new AbstractIterator [Int ] {
923923 if (step == 0 ) throw new IllegalArgumentException (" zero step" )
924- private var i = start
925- private var hasOverflowed = false
924+ private [ this ] var i = start
925+ private [ this ] var hasOverflowed = false
926926 def hasNext : Boolean = {
927927 (step <= 0 || i < end) && (step >= 0 || i > end) && ! hasOverflowed
928928 }
@@ -1045,8 +1045,8 @@ object Iterator extends IterableFactory[Iterator] {
10451045 * Lazily skip to start on first evaluation. Avoids daisy-chained iterators due to slicing.
10461046 */
10471047 private [scala] final class SliceIterator [A ](val underlying : Iterator [A ], start : Int , limit : Int ) extends AbstractIterator [A ] {
1048- private var remaining = limit
1049- private var dropping = start
1048+ private [ this ] var remaining = limit
1049+ private [ this ] var dropping = start
10501050 @ inline private def unbounded = remaining < 0
10511051 private def skip (): Unit =
10521052 while (dropping > 0 ) {
0 commit comments