aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/internal/TransformUtils.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-15 00:23:43 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-15 13:05:58 +0100
commit69f3a4d5ff895e26500196a51ad4c12c873a9b4b (patch)
tree7e606f68f4fba2f53b156fed8d8c92ca364bac50 /src/main/scala/scala/async/internal/TransformUtils.scala
parenta14d758509f84eed6425f805bacff7c281726ff7 (diff)
downloadscala-async-69f3a4d5ff895e26500196a51ad4c12c873a9b4b.tar.gz
scala-async-69f3a4d5ff895e26500196a51ad4c12c873a9b4b.tar.bz2
scala-async-69f3a4d5ff895e26500196a51ad4c12c873a9b4b.zip
migrates transformAt to typingTransform
Diffstat (limited to 'src/main/scala/scala/async/internal/TransformUtils.scala')
-rw-r--r--src/main/scala/scala/async/internal/TransformUtils.scala14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/main/scala/scala/async/internal/TransformUtils.scala b/src/main/scala/scala/async/internal/TransformUtils.scala
index 7602905..18e994f 100644
--- a/src/main/scala/scala/async/internal/TransformUtils.scala
+++ b/src/main/scala/scala/async/internal/TransformUtils.scala
@@ -215,15 +215,11 @@ private[async] trait TransformUtils {
localTyper = global.analyzer.newTyper(callSiteTyper.context.make(unit = callSiteTyper.context.unit))
}
- def transformAt(tree: Tree)(f: PartialFunction[Tree, (analyzer.Context => Tree)]) = {
- object trans extends MacroTypingTransformer {
- override def transform(tree: Tree): Tree = {
- if (f.isDefinedAt(tree)) {
- f(tree)(localTyper.context)
- } else super.transform(tree)
- }
- }
- trans.transform(tree)
+ def transformAt(tree: Tree)(f: PartialFunction[Tree, (TypingTransformApi => Tree)]) = {
+ typingTransform(tree)((tree, api) => {
+ if (f.isDefinedAt(tree)) f(tree)(api)
+ else api.default(tree)
+ })
}
def toMultiMap[A, B](as: Iterable[(A, B)]): Map[A, List[B]] =