diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-07-07 07:37:53 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-07-07 07:37:53 +1000 |
commit | c60c38ca6098402f7a9cc6d6746b664bb2b1306c (patch) | |
tree | bc31d4de6cdda7bfe4358984a40095c2e7464eac /src/main/scala/scala/async/TransformUtils.scala | |
parent | 82232ec47effb4a6b67b3a0792e1c7600e2d31b7 (diff) | |
download | scala-async-c60c38ca6098402f7a9cc6d6746b664bb2b1306c.tar.gz scala-async-c60c38ca6098402f7a9cc6d6746b664bb2b1306c.tar.bz2 scala-async-c60c38ca6098402f7a9cc6d6746b664bb2b1306c.zip |
Fix another interation with existentials and a name clash.
Diffstat (limited to 'src/main/scala/scala/async/TransformUtils.scala')
-rw-r--r-- | src/main/scala/scala/async/TransformUtils.scala | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/scala/scala/async/TransformUtils.scala b/src/main/scala/scala/async/TransformUtils.scala index 33dd21d..d69d03a 100644 --- a/src/main/scala/scala/async/TransformUtils.scala +++ b/src/main/scala/scala/async/TransformUtils.scala @@ -33,7 +33,7 @@ private[async] trait TransformUtils { def fresh(name: TermName): TermName = newTermName(fresh(name.toString)) - def fresh(name: String): String = if (name.toString.contains("$")) name else currentUnit.freshTermName("" + name + "$").toString + def fresh(name: String): String = currentUnit.freshTermName("" + name + "$").toString } def isAwait(fun: Tree) = @@ -240,4 +240,12 @@ private[async] trait TransformUtils { def toMultiMap[A, B](as: Iterable[(A, B)]): Map[A, List[B]] = as.toList.groupBy(_._1).mapValues(_.map(_._2).toList).toMap + + // Attributed version of `TreeGen#mkCastPreservingAnnotations` + def mkAttributedCastPreservingAnnotations(tree: Tree, tp: Type): Tree = { + atPos(tree.pos) { + val casted = gen.mkAttributedCast(tree, tp.withoutAnnotations.dealias) + Typed(casted, TypeTree(tp)).setType(tp) + } + } } |