diff options
author | Paul Phillips <paulp@improving.org> | 2009-10-21 19:54:48 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-10-21 19:54:48 +0000 |
commit | 322b823276a3f40db95bb3306c842021e77572df (patch) | |
tree | d37274db9849d5df798bf7f09f63a6423c202f2d | |
parent | 247895b5e023bf6038988f7da485495012e66b9b (diff) | |
download | scala-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.scala | 4 |
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) { |