A base class for the async
macro.
A trivial implementation of FutureSystem that performs computations on the current thread.
A trivial implementation of FutureSystem that performs computations on the current thread. Useful for testing.
An abstraction over a future system.
An abstraction over a future system.
Used by the macro implementations in scala.async.AsyncBase to customize the code generation.
The API mirrors that of scala.concurrent.Future
, see the instance
ScalaConcurrentFutureSystem for an example of how
to implement this.
A base class for the
async
macro. Subclasses must provide:- Concrete types for a given future system - Tree manipulations to create and complete the equivalent of Future and Promise in that system. - The
async
macro declaration itself, and a forwarder for the macro implementation. (The latter is temporarily needed to workaround bug SI-6650 in the macro system)The default implementation, scala.async.Async, binds the macro to
scala.concurrent._
.