aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/internal/AsyncBase.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-11-07 15:27:40 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-11-07 15:59:54 +0100
commit10f3c8db6163ebe3196173c1d87e69c1fb6a3a65 (patch)
treeb0043bf3feaea28eef36ed9548fa360213b1fd72 /src/main/scala/scala/async/internal/AsyncBase.scala
parent6a2b940ac6b7e511270079e1b6278c844a57f5d1 (diff)
downloadscala-async-10f3c8db6163ebe3196173c1d87e69c1fb6a3a65.tar.gz
scala-async-10f3c8db6163ebe3196173c1d87e69c1fb6a3a65.tar.bz2
scala-async-10f3c8db6163ebe3196173c1d87e69c1fb6a3a65.zip
Minimize the public API
- Remove the CPS fallback version of async. That was not intended to be part of 1.0. - Lookup the await method beside the macro, rather than requiring all calls to go to AsyncBase.await. - Create a minimal version of Async that just contains await/async and delegates to the macro implementation in internal._ - Add scaladoc.
Diffstat (limited to 'src/main/scala/scala/async/internal/AsyncBase.scala')
-rw-r--r--src/main/scala/scala/async/internal/AsyncBase.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/internal/AsyncBase.scala b/src/main/scala/scala/async/internal/AsyncBase.scala
index e44c27f..89d5a4d 100644
--- a/src/main/scala/scala/async/internal/AsyncBase.scala
+++ b/src/main/scala/scala/async/internal/AsyncBase.scala
@@ -61,6 +61,11 @@ abstract class AsyncBase {
c.Expr[futureSystem.Fut[T]](code)
}
+ protected[async] def awaitMethod(u: Universe)(asyncMacroSymbol: u.Symbol): u.Symbol = {
+ import u._
+ asyncMacroSymbol.owner.typeSignature.member(newTermName("await"))
+ }
+
protected[async] def nullOut(u: Universe)(name: u.Expr[String], v: u.Expr[Any]): u.Expr[Unit] =
u.reify { () }
}