diff options
author | Martin Odersky <odersky@gmail.com> | 2009-11-02 16:48:56 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-11-02 16:48:56 +0000 |
commit | 3d115bd2a4191c28e6d8a9c2633740288479cec7 (patch) | |
tree | 8d203f6b94069a1094195fc48ea5a98ba9dfbbe5 /src/library | |
parent | c9c04a59072d4a640f92fa477f247697d51c241b (diff) | |
download | scala-3d115bd2a4191c28e6d8a9c2633740288479cec7.tar.gz scala-3d115bd2a4191c28e6d8a9c2633740288479cec7.tar.bz2 scala-3d115bd2a4191c28e6d8a9c2633740288479cec7.zip |
Fixed #2545.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/package.scala | 2 | ||||
-rw-r--r-- | src/library/scala/util/control/Breaks.scala | 25 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/library/scala/package.scala b/src/library/scala/package.scala index 230d664f06..34ba3c1ff2 100644 --- a/src/library/scala/package.scala +++ b/src/library/scala/package.scala @@ -11,7 +11,7 @@ package object scala { - type Travarsable[+A] = scala.collection.Traversable[A] + type Traversable[+A] = scala.collection.Traversable[A] val Traversable = scala.collection.Traversable type Iterable[+A] = scala.collection.Iterable[A] diff --git a/src/library/scala/util/control/Breaks.scala b/src/library/scala/util/control/Breaks.scala index 25adf80573..6e7f4d6267 100644 --- a/src/library/scala/util/control/Breaks.scala +++ b/src/library/scala/util/control/Breaks.scala @@ -11,10 +11,11 @@ package scala.util.control -/** An object that can be used for the break control abstraction. +/** A class that can be instantiated for the break control abstraction. * Example usage:<pre> * - * <b>import</b> Breaks.{break, breakable} + * val mybreaks = new Breaks + * import</b> mybreaks.{break, breakable} * * breakable { * <b>for</b> (...) { @@ -22,6 +23,8 @@ package scala.util.control * } * }</pre> * + * Calls to break from one instantiation of Breaks will never + * target breakable objects of some other instantion. */ class Breaks { @@ -37,11 +40,25 @@ class Breaks { } } - /* Break from closest enclosing breakable block */ + /* Break from dynamically closest enclosing breakable block + * @note this might be different than the statically closest enclosing + * block! + */ def break { throw breakException } } -/** A singleton object providing the Break functionality */ +/** An object that can be used for the break control abstraction. + * Example usage:<pre> + * + * <b>import</b> Breaks.{break, breakable} + * + * breakable { + * <b>for</b> (...) { + * <b>if</b> (...) break + * } + * }</pre> + * + */ object Breaks extends Breaks private class BreakException extends RuntimeException with ControlException |