summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-10-21 19:54:48 +0000
committerPaul Phillips <paulp@improving.org>2009-10-21 19:54:48 +0000
commit322b823276a3f40db95bb3306c842021e77572df (patch)
treed37274db9849d5df798bf7f09f63a6423c202f2d
parent247895b5e023bf6038988f7da485495012e66b9b (diff)
downloadscala-322b823276a3f40db95bb3306c842021e77572df.tar.gz
scala-322b823276a3f40db95bb3306c842021e77572df.tar.bz2
scala-322b823276a3f40db95bb3306c842021e77572df.zip
Made Cursor.next tail recursive by making it fi...
Made Cursor.next tail recursive by making it final.
-rw-r--r--src/compiler/scala/tools/nsc/transform/OverridingPairs.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
index 6cf9020520..af63b48d00 100644
--- a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
+++ b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
@@ -10,6 +10,7 @@ package transform
import collection.mutable.HashMap
import symtab.Flags._
import util.HashSet
+import annotation.tailrec
/** A class that yields a kind of iterator (`Cursor`),
* which yields all pairs of overriding/overridden symbols
@@ -165,7 +166,8 @@ abstract class OverridingPairs {
//@M: note that next is called once during object initialisation
def hasNext: Boolean = curEntry ne null
- def next {
+ @tailrec
+ final def next {
if (curEntry ne null) {
overriding = curEntry.sym
if (nextEntry ne null) {