blob: 8827351d52b50c9ce20b92405f2588323e40d5d2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package scala.async
import scala.tools.nsc.Global
import scala.tools.nsc.transform.TypingTransformers
object AsyncMacro {
def apply(c: reflect.macros.Context, futureSystem0: FutureSystem): AsyncMacro = {
import language.reflectiveCalls
val powerContext = c.asInstanceOf[c.type {val universe: Global; val callsiteTyper: universe.analyzer.Typer}]
new AsyncMacro {
val global: powerContext.universe.type = powerContext.universe
val callSiteTyper: global.analyzer.Typer = powerContext.callsiteTyper
val futureSystem: futureSystem0.type = futureSystem0
val futureSystemOps: futureSystem.Ops {val universe: global.type} = futureSystem0.mkOps(global)
val macroApplication: global.Tree = c.macroApplication.asInstanceOf[global.Tree]
}
}
}
private[async] trait AsyncMacro
extends TypingTransformers
with AnfTransform with TransformUtils with Lifter
with ExprBuilder with AsyncTransform with AsyncAnalysis {
val global: Global
val callSiteTyper: global.analyzer.Typer
val macroApplication: global.Tree
}
|