summaryrefslogtreecommitdiff
path: root/test/files/run/macro-term-declared-in-annotation
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-01-14 23:55:25 +0100
committerEugene Burmako <xeno.by@gmail.com>2013-05-28 08:23:44 +0200
commit70f001181734f76064d97ec25b1afd6aad49b684 (patch)
treecfd16d6df0388c26a0f05f6155a53f8c499d77a7 /test/files/run/macro-term-declared-in-annotation
parente1d9805c91dbe74317e2f4f22ad59056d64d12b3 (diff)
downloadscala-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')
-rw-r--r--test/files/run/macro-term-declared-in-annotation/Impls_1.scala11
-rw-r--r--test/files/run/macro-term-declared-in-annotation/Macros_2.scala8
-rw-r--r--test/files/run/macro-term-declared-in-annotation/Test_3.scala3
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