@@ -17,23 +17,40 @@ private[async] trait TransformUtils {
17
17
import c .internal ._
18
18
import decorators ._
19
19
20
+ private object baseNames {
21
+
22
+ val matchRes = " matchres"
23
+ val ifRes = " ifres"
24
+ val bindSuffix = " $bind"
25
+ val completed = newTermName(" completed" )
26
+
27
+ val state = newTermName(" state" )
28
+ val result = newTermName(" result" )
29
+ val execContext = newTermName(" execContext" )
30
+ val tr = newTermName(" tr" )
31
+ val t = newTermName(" throwable" )
32
+ }
33
+
20
34
object name {
21
- val resume = newTermName(" resume" )
22
- val apply = newTermName(" apply" )
23
- val matchRes = " matchres"
24
- val ifRes = " ifres"
25
- val await = " await"
26
- val bindSuffix = " $bind"
27
- val completed = newTermName(" completed" )
28
-
29
- val state = newTermName(" state" )
30
- val result = newTermName(" result" )
31
- val execContext = newTermName(" execContext" )
35
+ def matchRes = maybeFresh(baseNames.matchRes)
36
+ def ifRes = maybeFresh(baseNames.ifRes)
37
+ def bindSuffix = maybeFresh(baseNames.bindSuffix)
38
+ def completed = maybeFresh(baseNames.completed)
39
+
40
+ val state = maybeFresh(baseNames.state)
41
+ val result = maybeFresh(baseNames.result)
42
+ val execContext = maybeFresh(baseNames.execContext)
43
+ val tr = maybeFresh(baseNames.tr)
44
+ val t = maybeFresh(baseNames.t)
45
+
46
+ val await = " await"
47
+ val resume = newTermName(" resume" )
48
+ val apply = newTermName(" apply" )
32
49
val stateMachine = newTermName(fresh(" stateMachine" ))
33
50
val stateMachineT = stateMachine.toTypeName
34
- val tr = newTermName(" tr" )
35
- val t = newTermName(" throwable" )
36
51
52
+ def maybeFresh (name : TermName ): TermName = if (self.asyncBase.futureSystem.freshenAllNames) fresh(name) else name
53
+ def maybeFresh (name : String ): String = if (self.asyncBase.futureSystem.freshenAllNames) fresh(name) else name
37
54
def fresh (name : TermName ): TermName = c.freshName(name)
38
55
39
56
def fresh (name : String ): String = c.freshName(name)
0 commit comments