| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This is a re-implementation of a previous fix. It is more modular, since
it enables the definition of a CPS-based fall-back as a subclass of `AsyncBase`.
Thus, it's possible to define fall-back-enabled subclasses of `AsyncBase`
targetting not only Scala Futures.
|
| | |
|
|/
|
|
|
|
|
| |
- Undo the transformation that takes place in Typers to
leave us with Match(EmptyTree, cases).
- Make sure we don't descend into the cases of such a
tree when peforming the async transform
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid suprises in tree retyping, the instance of this
class is immediately upcase to
StateMachine[Promise[T], ExecContext].
Allow nested non-case classes. These pop up when
we use nested async calls.
Only look for duplicate names in the subtrees
traversed by AsyncTraverser.
|
|
|
|
|
|
|
| |
Any vals referred to in the body of these
must also be lifted.
Fixes #36
|
|
|
|
|
|
| |
The type-checking performed in ANF transform is
precarious, and needed to use the original condition/
scrutinee in a throwaway tree to get things to work.
|
|
|
|
|
|
|
| |
These gives us something to lift to vars to be accessed
from multiple states of the state machine.
Fixes #35
|
|
|
|
| |
This refactoring removes a group of factory methods.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Test nested loops.
Control ANF tracing with another system property.
|
|
|
|
| |
Closes #21
|
| |
|
| |
|
|
|
|
| |
Lookup the ValDef symbol from Assign#rhs.symbol.
|
| |
|
| |
|
|
|
|
| |
We seem to be symful now.
|
|
|
|
|
|
|
|
| |
- transform the provided tree using reflect.internal.Symbols#Symbol.name_=
and treeCopy.{Ident, Select}.
- not sure if this is possible within the public Symbol API.
- move checking for unsupported nested module/class to AsyncAnalysis.
- make block merging selective (only do so if there are nested await calls.)
|
|
|