diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-11-07 15:27:40 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-11-07 15:59:54 +0100 |
commit | 10f3c8db6163ebe3196173c1d87e69c1fb6a3a65 (patch) | |
tree | b0043bf3feaea28eef36ed9548fa360213b1fd72 /src/main/scala/scala/async/internal/AsyncBase.scala | |
parent | 6a2b940ac6b7e511270079e1b6278c844a57f5d1 (diff) | |
download | scala-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.scala | 5 |
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 { () } } |