diff options
author | James Iry <jamesiry@gmail.com> | 2013-08-16 08:22:15 -0700 |
---|---|---|
committer | James Iry <jamesiry@gmail.com> | 2013-08-16 08:22:15 -0700 |
commit | ab8021f4d997f792ba4aabef4e6c8968a1ae78cc (patch) | |
tree | 05df1d2c9e1cb94ef7d538c32ab5a733e7bb1cb7 /test/files/run/macro-auto-duplicate/Macros_1.scala | |
parent | 8053c197941608b06089de4a618615d46552aa0b (diff) | |
parent | 75b44a6f723762cc3ebc911483beb2aec4cfee78 (diff) | |
download | scala-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.scala | 17 |
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 |