summaryrefslogtreecommitdiff
path: root/test/files/run/macro-auto-duplicate/Macros_1.scala
diff options
context:
space:
mode:
authorJames Iry <jamesiry@gmail.com>2013-08-16 08:22:15 -0700
committerJames Iry <jamesiry@gmail.com>2013-08-16 08:22:15 -0700
commitab8021f4d997f792ba4aabef4e6c8968a1ae78cc (patch)
tree05df1d2c9e1cb94ef7d538c32ab5a733e7bb1cb7 /test/files/run/macro-auto-duplicate/Macros_1.scala
parent8053c197941608b06089de4a618615d46552aa0b (diff)
parent75b44a6f723762cc3ebc911483beb2aec4cfee78 (diff)
downloadscala-ab8021f4d997f792ba4aabef4e6c8968a1ae78cc.tar.gz
scala-ab8021f4d997f792ba4aabef4e6c8968a1ae78cc.tar.bz2
scala-ab8021f4d997f792ba4aabef4e6c8968a1ae78cc.zip
Merge pull request #2814 from xeno-by/topic/auto-duplicate-expansions
[nomaster] macro expansions are now auto-duplicated
Diffstat (limited to 'test/files/run/macro-auto-duplicate/Macros_1.scala')
-rw-r--r--test/files/run/macro-auto-duplicate/Macros_1.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/run/macro-auto-duplicate/Macros_1.scala b/test/files/run/macro-auto-duplicate/Macros_1.scala
new file mode 100644
index 0000000000..e3df05ba50
--- /dev/null
+++ b/test/files/run/macro-auto-duplicate/Macros_1.scala
@@ -0,0 +1,17 @@
+import scala.reflect.macros.Context
+import language.experimental.macros
+
+object Macros {
+ def impl(c: Context) = {
+ import c.universe._
+ val x = Ident(newTermName("x"))
+ def defAndUseX(rhs: Tree) = {
+ Block(List(ValDef(NoMods, newTermName("x"), TypeTree(), rhs)), x)
+ }
+ val xi4 = defAndUseX(Literal(Constant(4)))
+ val xs2 = defAndUseX(Literal(Constant("2")))
+ c.Expr[String](Apply(Select(xi4, newTermName("$plus")), List(xs2)))
+ }
+
+ def foo = macro impl
+} \ No newline at end of file