aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala')
-rw-r--r--tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala b/tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala
new file mode 100644
index 000000000..354c5e0d9
--- /dev/null
+++ b/tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala
@@ -0,0 +1,38 @@
+import scala.language.experimental.macros
+import scala.reflect.macros.blackbox.{Context => BlackboxContext}
+import scala.reflect.macros.whitebox.{Context => WhiteboxContext}
+
+object Module {
+ type BBC = BlackboxContext
+ type RBBC = BBC { type PrefixType = C }
+ type WBC = WhiteboxContext
+ type RWBC = WBC { type PrefixType = C }
+
+ class BlackboxBundle(val c: BBC) {
+ import c.universe._
+ def impl = q"${c.prefix}"
+ }
+
+ class RefinedBlackboxBundle(val c: RBBC) {
+ import c.universe._
+ def impl = reify(c.prefix.splice)
+ }
+
+ class WhiteboxBundle(val c: WBC) {
+ import c.universe._
+ def impl = q"${c.prefix}"
+ }
+
+ class RefinedWhiteboxBundle(val c: RWBC) {
+ import c.universe._
+ def impl = reify(c.prefix.splice)
+ }
+}
+
+class C {
+ def blackbox: C = macro Module.BlackboxBundle.impl
+ def refinedBlackbox: C = macro Module.RefinedBlackboxBundle.impl
+ def whitebox: C = macro Module.WhiteboxBundle.impl
+ def refinedWhitebox: C = macro Module.RefinedWhiteboxBundle.impl
+ override def toString = "C"
+} \ No newline at end of file