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
asyncmacro. 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
asyncmacro 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._.