summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/TreeGen.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-09-23 04:54:11 -0700
committerJason Zaugg <jzaugg@gmail.com>2013-09-23 04:54:11 -0700
commita456f4648a82e22b9fa66f05835c01173c16c7c8 (patch)
treef418e9b8d4985ae26f9d663f2d7b05c3147dea17 /src/reflect/scala/reflect/internal/TreeGen.scala
parentc96f135f32ffc79bc4bd7ece92aa2f18f2efe99e (diff)
parentc8a9329ff9b2a6ea99eef7234c9f84c0bfe0166b (diff)
downloadscala-a456f4648a82e22b9fa66f05835c01173c16c7c8.tar.gz
scala-a456f4648a82e22b9fa66f05835c01173c16c7c8.tar.bz2
scala-a456f4648a82e22b9fa66f05835c01173c16c7c8.zip
Merge pull request #2962 from densh/topic/syntactic-assign
Quasiquotes: add syntactic extractor for assignment-like trees
Diffstat (limited to 'src/reflect/scala/reflect/internal/TreeGen.scala')
-rw-r--r--src/reflect/scala/reflect/internal/TreeGen.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeGen.scala b/src/reflect/scala/reflect/internal/TreeGen.scala
index a8af3e0f0e..a9f2807e9f 100644
--- a/src/reflect/scala/reflect/internal/TreeGen.scala
+++ b/src/reflect/scala/reflect/internal/TreeGen.scala
@@ -434,4 +434,12 @@ abstract class TreeGen extends macros.TreeBuilder {
case head :: Nil => head
case _ => gen.mkBlock(stats)
}
+
+ /** Create a tree representing an assignment <lhs = rhs> */
+ def mkAssign(lhs: Tree, rhs: Tree): Tree = lhs match {
+ case Apply(fn, args) =>
+ Apply(atPos(fn.pos)(Select(fn, nme.update)), args :+ rhs)
+ case _ =>
+ Assign(lhs, rhs)
+ }
}