diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-01-14 23:55:25 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-05-28 08:23:44 +0200 |
commit | 70f001181734f76064d97ec25b1afd6aad49b684 (patch) | |
tree | cfd16d6df0388c26a0f05f6155a53f8c499d77a7 /test/files/run/macro-term-declared-in-annotation | |
parent | e1d9805c91dbe74317e2f4f22ad59056d64d12b3 (diff) | |
download | scala-70f001181734f76064d97ec25b1afd6aad49b684.tar.gz scala-70f001181734f76064d97ec25b1afd6aad49b684.tar.bz2 scala-70f001181734f76064d97ec25b1afd6aad49b684.zip |
refactors macro tests
putting in a nutshell, this patch:
* condenses some macro-XXX-a/b/c/... bundles
* renames some tests to prepare for other macro flavors
* introduces some additional tests
Diffstat (limited to 'test/files/run/macro-term-declared-in-annotation')
3 files changed, 22 insertions, 0 deletions
diff --git a/test/files/run/macro-term-declared-in-annotation/Impls_1.scala b/test/files/run/macro-term-declared-in-annotation/Impls_1.scala new file mode 100644 index 0000000000..1ea06de679 --- /dev/null +++ b/test/files/run/macro-term-declared-in-annotation/Impls_1.scala @@ -0,0 +1,11 @@ +import scala.reflect.macros.{Context => Ctx} + +object Impls { + def foo(c: Ctx) = { + import c.{prefix => prefix} + import c.universe._ + val printPrefix = Apply(Select(Ident(definitions.PredefModule), TermName("println")), List(Literal(Constant("prefix = " + prefix)))) + val body = Block(List(printPrefix), Literal(Constant("this is deprecated"))) + c.Expr[String](body) + } +}
\ No newline at end of file diff --git a/test/files/run/macro-term-declared-in-annotation/Macros_2.scala b/test/files/run/macro-term-declared-in-annotation/Macros_2.scala new file mode 100644 index 0000000000..40d71c62fb --- /dev/null +++ b/test/files/run/macro-term-declared-in-annotation/Macros_2.scala @@ -0,0 +1,8 @@ +class foo(val bar: String) extends annotation.StaticAnnotation + +object Api { + // foo in ann must have a different name + // otherwise, we get bitten by https://issues.scala-lang.org/browse/SI-5544 + @foo({def fooInAnn = macro Impls.foo; fooInAnn}) + def foo = println("it works") +}
\ No newline at end of file diff --git a/test/files/run/macro-term-declared-in-annotation/Test_3.scala b/test/files/run/macro-term-declared-in-annotation/Test_3.scala new file mode 100644 index 0000000000..866487f028 --- /dev/null +++ b/test/files/run/macro-term-declared-in-annotation/Test_3.scala @@ -0,0 +1,3 @@ +object Test extends App { + Api.foo +}
\ No newline at end of file |