| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ /
| |
| |
| |
| | |
Once they escape, we leave the references in the state
machines fields untouched.
|
| | |
|
|\ \
| | |
| | | |
Remove left-overs of CPS fallback logic
|
| | |
| | |
| | |
| | | |
Completes removal performed in #37.
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Minimize the public API
|
| | |
| | |
| | |
| | |
| | |
| | | |
The generated code can simply extends Function1 and Function0.
This class was a hacky means to get the macro working a long
time ago.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
| | |
|
|\ \
| | |
| | | |
Release/0.9.0 m1
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
We were relying on an internal API that no longer exists.
We also need to tweak the way our tests infer scalaBinaryVersion.
|
|/ /
| |
| |
| | |
We were relying on an internal API that no longer exists.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Liveness analysis to avoid memory retention issues
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- Zero out fields of type Any
- Zero out fields of value class type
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Adds a hook that lets a derived macro insert additional code
when zero-ing out a lifted field.
- Adds a variant of the `AsyncId` macro that logs zeroed-out fields.
- Adds a test using this mechanism
|
| | |
| | |
| | |
| | |
| | | |
- A missing condition could cause an infinite loop
- Various clean-ups
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
- Iterative, backwards data-flow analysis
- Make sure fields captured by nested defs are never zeroed out.
This is done elegantly by declaring such fields a being live
at the exit of the final state; thus, they will never be
zeroed out.
|
|\ \
| | |
| | | |
Various clean-ups and docs
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
OLD:
case (throwable @ _) if NonFatal.apply(throwable) => {
{
stateMachine$1.this.result.complete(Failure.apply[Nothing](throwable));
()
};
()
}
NEW:
case (throwable @ _) if NonFatal.apply(throwable) => {
stateMachine$1.this.result.complete(Failure.apply[Nothing](throwable));
()
}
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Handle while loops as expressions in ANF transform.
|
|/ /
| |
| |
| |
| |
| |
| | |
Append a `()`, as we do for `Unit` returning `if`-s and `try-s`
We don't currently support `await` in try/catch, otherwise I'd
write tests for that case, too.
|
| |
| |
| | |
Also set the start date at that of oldest commit.
|
| |
| |
| |
| |
| |
| | |
- move to maven group org.scala-lang.modules / scala-async
- add config to publish to sonatype OSS
- generate a scala-async.properties files (ala the scala-parser-combinators build)
|
|\ \
| | |
| | | |
Use @uncheckedBounds to avoid introducing refchecks errors …
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... in code that would otherwise have smuggled through these
slack LUBs in the types of trees but never in a TypeTree.
More details in SI-7694.
Fixes #29
|
| | |
| | |
| | |
| | |
| | | |
SBT's scalaHome handling doesn't pick up the local continuations
plugin.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Which correctly substitutes scala-reflect.jar when using scalaHome
to test out the plugin with a local version of Scala.
Also updates to a released version of the junit-interface SBT TestFramework.
|
| | |
| | |
| | |
| | |
| | | |
These are are at odds with the junit-interface SBT test framework
under SBT 0.13.+, and appear to be superfluous.
|
|\ \ \
| | | |
| | | | |
Collection of clean-ups
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
- removed outdated comments in ANF transform
- added a few comments
- removed some unnecessary imports
|
|\| |
| |/
|/| |
Typeful transformations
|
| |
| |
| |
| | |
Tweak the way we set tpe = Unit in matches.
|
| |
| |
| |
| | |
Obsolete now that we carry all the types around.
|
| | |
|
| |
| |
| |
| | |
Avoids runtime errors like: "java.lang.Double cannot be cast to scala.runtime.BoxedUnit"
|
| | |
|
| | |
|