diff options
Diffstat (limited to 'tests/disabled/macro/run/macro-bundle-context-alias')
-rw-r--r-- | tests/disabled/macro/run/macro-bundle-context-alias/Macros_1.scala | 38 | ||||
-rw-r--r-- | tests/disabled/macro/run/macro-bundle-context-alias/Test_2.scala | 6 |
2 files changed, 44 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 diff --git a/tests/disabled/macro/run/macro-bundle-context-alias/Test_2.scala b/tests/disabled/macro/run/macro-bundle-context-alias/Test_2.scala new file mode 100644 index 000000000..6c70277de --- /dev/null +++ b/tests/disabled/macro/run/macro-bundle-context-alias/Test_2.scala @@ -0,0 +1,6 @@ +object Test extends dotty.runtime.LegacyApp { + println(new C().blackbox) + println(new C().refinedBlackbox) + println(new C().whitebox) + println(new C().refinedWhitebox) +}
\ No newline at end of file |