summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-02-12 11:06:34 +0000
committerMartin Odersky <odersky@gmail.com>2007-02-12 11:06:34 +0000
commit94e3a13f24d98e3e71bc8f041df8241beb43b234 (patch)
treeba6235220d7e2b4f4afd4b629b7e7dec312439a3 /src/library
parentd7dc0ad355418a5d297f5baf269404d95a2976b2 (diff)
downloadscala-94e3a13f24d98e3e71bc8f041df8241beb43b234.tar.gz
scala-94e3a13f24d98e3e71bc8f041df8241beb43b234.tar.bz2
scala-94e3a13f24d98e3e71bc8f041df8241beb43b234.zip
small fixes to newline behavior.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/Iterator.scala13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/library/scala/Iterator.scala b/src/library/scala/Iterator.scala
index a4f2c27c25..528fd68635 100644
--- a/src/library/scala/Iterator.scala
+++ b/src/library/scala/Iterator.scala
@@ -21,7 +21,7 @@ import compat.StringBuilder
*
* @author Martin Odersky
* @author Matthias Zenger
- * @version 1.1, 04/02/2004
+ * @version 1.2, 10/02/2007
*/
object Iterator {
@@ -291,14 +291,15 @@ trait Iterator[+A] {
private def predicatedIterator(p: A => boolean, isFilter: boolean) = new BufferedIterator[A] {
private var hd: A = _
private var ahead: Boolean = false
- private var hasMore = Iterator.this.hasNext
private def skip: Unit =
- while (!ahead && hasMore) {
+ while (!ahead && Iterator.this.hasNext) {
hd = Iterator.this.next
- hasMore = Iterator.this.hasNext
- ahead = p(hd)
+ ahead = !isFilter || p(hd)
}
- def hasNext: Boolean = { skip; ahead || isFilter && hasMore }
+ def hasNext: Boolean = {
+ skip
+ ahead && p(hd)
+ }
def next: A =
if (hasNext) { ahead = false; hd }
else throw new NoSuchElementException("next on empty iterator")