diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 09:15:36 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 09:15:36 +0100 |
commit | 49c169e123dc5e90bcc5f23f63f1415c645603d5 (patch) | |
tree | bd14904f49b2f71b342a88475f02ad885b3a67b1 /src/main/scala/scala/async/TransformUtils.scala | |
parent | 535ca23858a233978ce874d5cbad7d586f1e8635 (diff) | |
download | scala-async-49c169e123dc5e90bcc5f23f63f1415c645603d5.tar.gz scala-async-49c169e123dc5e90bcc5f23f63f1415c645603d5.tar.bz2 scala-async-49c169e123dc5e90bcc5f23f63f1415c645603d5.zip |
Centralize naming.
Diffstat (limited to 'src/main/scala/scala/async/TransformUtils.scala')
-rw-r--r-- | src/main/scala/scala/async/TransformUtils.scala | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/main/scala/scala/async/TransformUtils.scala b/src/main/scala/scala/async/TransformUtils.scala index 5095875..9a8814f 100644 --- a/src/main/scala/scala/async/TransformUtils.scala +++ b/src/main/scala/scala/async/TransformUtils.scala @@ -9,10 +9,34 @@ import reflect.ClassTag /** * Utilities used in both `ExprBuilder` and `AnfTransform`. */ -class TransformUtils[C <: Context](val c: C) { +private[async] class TransformUtils[C <: Context](val c: C) { import c.universe._ + private[async] object name { + def suffix(string: String) = string + "$async" + + def suffixedName(prefix: String) = newTermName(suffix(prefix)) + + val state = suffixedName("state") + val result = suffixedName("result") + val resume = suffixedName("resume") + val execContext = suffixedName("execContext") + + // TODO do we need to freshen any of these? + val x1 = newTermName("x$1") + val tr = newTermName("tr") + val onCompleteHandler = suffixedName("onCompleteHandler") + + val matchRes = "matchres" + val ifRes = "ifres" + val await = "await" + + def fresh(name: TermName): TermName = newTermName(fresh(name.toString)) + + def fresh(name: String): String = if (name.toString.contains("$")) name else c.fresh("" + name + "$") + } + protected def defaultValue(tpe: Type): Literal = { val defaultValue: Any = if (tpe <:< definitions.BooleanTpe) false |