diff --git a/akka-actor/src/main/scala/akka/util/Helpers.scala b/akka-actor/src/main/scala/akka/util/Helpers.scala index 67a77aa150..9cba2c5f3d 100644 --- a/akka-actor/src/main/scala/akka/util/Helpers.scala +++ b/akka-actor/src/main/scala/akka/util/Helpers.scala @@ -12,8 +12,6 @@ import scala.annotation.tailrec */ object Helpers { - implicit def null2Option[T](t: T): Option[T] = Option(t) - def compareIdentityHash(a: AnyRef, b: AnyRef): Int = { /* * make sure that there is no overflow or underflow in comparisons, so @@ -72,77 +70,4 @@ object Helpers { throw e } } - - /** - * Convenience helper to cast the given Option of Any to an Option of the given type. Will throw a ClassCastException - * if the actual type is not assignable from the given one. - */ - def narrow[T](o: Option[Any]): Option[T] = { - require((o ne null), "Option to be narrowed must not be null!") - o.asInstanceOf[Option[T]] - } - - /** - * Convenience helper to cast the given Option of Any to an Option of the given type. Will swallow a possible - * ClassCastException and return None in that case. - */ - def narrowSilently[T: Manifest](o: Option[Any]): Option[T] = - try { - narrow(o) - } catch { - case e: ClassCastException ⇒ - None - } - - /** - * Reference that can hold either a typed value or an exception. - * - * Usage: - *
-   * scala> ResultOrError(1)
-   * res0: ResultOrError[Int] = ResultOrError@a96606
-   *
-   * scala> res0()
-   * res1: Int = 1
-   *
-   * scala> res0() = 3
-   *
-   * scala> res0()
-   * res3: Int = 3
-   *
-   * scala> res0() = { println("Hello world"); 3}
-   * Hello world
-   *
-   * scala> res0()
-   * res5: Int = 3
-   *
-   * scala> res0() = error("Lets see what happens here...")
-   *
-   * scala> res0()
-   * java.lang.RuntimeException: Lets see what happens here...
-   *    at ResultOrError.apply(Helper.scala:11)
-   *    at .(:6)
-   *    at .()
-   *    at Re...
-   * 
- */ - class ResultOrError[R](result: R) { - private[this] var contents: Either[R, Throwable] = Left(result) - - def update(value: ⇒ R) { - contents = try { - Left(value) - } catch { - case (error: Throwable) ⇒ Right(error) - } - } - - def apply() = contents match { - case Left(result) ⇒ result - case Right(error) ⇒ throw error.fillInStackTrace - } - } - object ResultOrError { - def apply[R](result: R) = new ResultOrError(result) - } }