scala/async — pull request #27 by retronym (2013-08-07 08:07:30+00:00)
Title: Typeful transformations

A long overdue overhaul of macro internals

- Use s.r.i.SymbolTable and s.t.n.Global rather than the public reflection API
- Avoid reset + retypecheck, instead hang onto the original types/symbols
- Eliminated duplication between AsyncDefinitionUseAnalyzer and ExprBuilder
- Instead, decide what do lift *after* running ExprBuilder
- Account for transitive references local classes/objects and lift them
as needed.
- Make the execution context an regular implicit parameter of the macro
- Fixes interaction with existential skolems and singleton types
- Emit compliant range positions

Fixes #6, #13, #16, #17, #19, #21.

Review by @phaller