summaryrefslogtreecommitdiff
path: root/test/files/run/macro-bundle-whitebox-decl
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-21 21:25:29 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-21 21:33:19 +0100
commit42031708b25f7252fab9992fe444651f8c141e40 (patch)
tree574385abd44805d8475af206e0914a7fcf29b5c9 /test/files/run/macro-bundle-whitebox-decl
parent6ce573b491160c0998a35579cc83a4cee2592803 (diff)
downloadscala-42031708b25f7252fab9992fe444651f8c141e40.tar.gz
scala-42031708b25f7252fab9992fe444651f8c141e40.tar.bz2
scala-42031708b25f7252fab9992fe444651f8c141e40.zip
SI-8321 whitebox bundles are now recognized as such
whitebox.Context <: blackbox.Context, so in order to check for blackboxity it's not enough to check whether the context used is <: blackbox.Context.
Diffstat (limited to 'test/files/run/macro-bundle-whitebox-decl')
-rw-r--r--test/files/run/macro-bundle-whitebox-decl/Impls_Macros_1.scala26
-rw-r--r--test/files/run/macro-bundle-whitebox-decl/Test_2.scala8
2 files changed, 34 insertions, 0 deletions
diff --git a/test/files/run/macro-bundle-whitebox-decl/Impls_Macros_1.scala b/test/files/run/macro-bundle-whitebox-decl/Impls_Macros_1.scala
new file mode 100644
index 0000000000..5e1b11895d
--- /dev/null
+++ b/test/files/run/macro-bundle-whitebox-decl/Impls_Macros_1.scala
@@ -0,0 +1,26 @@
+import scala.language.experimental.macros
+import scala.reflect.macros.whitebox.Context
+
+class Impl(val c: Context) {
+ def mono = { import c.universe._; c.Expr[Unit](q"()") }
+ def poly[T: c.WeakTypeTag] = { import c.universe._; c.Expr[String](q"${c.weakTypeOf[T].toString}") }
+ def weird = macro mono
+}
+
+object Macros {
+ def mono = macro Impl.mono
+ def poly[T] = macro Impl.poly[T]
+}
+
+package pkg {
+ class Impl(val c: Context) {
+ def mono = { import c.universe._; c.Expr[Boolean](q"true") }
+ def poly[T: c.WeakTypeTag] = { import c.universe._; c.Expr[String](q"${c.weakTypeOf[T].toString + c.weakTypeOf[T].toString}") }
+ def weird = macro mono
+ }
+
+ object Macros {
+ def mono = macro Impl.mono
+ def poly[T] = macro Impl.poly[T]
+ }
+} \ No newline at end of file
diff --git a/test/files/run/macro-bundle-whitebox-decl/Test_2.scala b/test/files/run/macro-bundle-whitebox-decl/Test_2.scala
new file mode 100644
index 0000000000..195fb49262
--- /dev/null
+++ b/test/files/run/macro-bundle-whitebox-decl/Test_2.scala
@@ -0,0 +1,8 @@
+object Test extends App {
+ println(Macros.mono)
+ println(Macros.poly[Int])
+ println(new Impl(???).weird)
+ println(pkg.Macros.mono)
+ println(pkg.Macros.poly[Int])
+ println(new pkg.Impl(???).weird)
+} \ No newline at end of file