aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala')
-rw-r--r--tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala b/tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala
new file mode 100644
index 000000000..13df85cb2
--- /dev/null
+++ b/tests/disabled/macro/run/macroPlugins-macroExpand/Plugin_1.scala
@@ -0,0 +1,27 @@
+package macroExpand
+
+import scala.tools.nsc.Global
+import scala.tools.nsc.plugins.{Plugin => NscPlugin}
+
+class Plugin(val global: Global) extends NscPlugin {
+ import global._
+ import analyzer._
+ import scala.reflect.internal.Mode
+
+ val name = "macroExpand"
+ val description = "A sample analyzer plugin that overrides macroExpand."
+ val components = Nil
+ addMacroPlugin(MacroPlugin)
+
+ object MacroPlugin extends MacroPlugin {
+ override def pluginsMacroExpand(typer: Typer, expandee: Tree, mode: Mode, pt: Type): Option[Tree] = {
+ object expander extends DefMacroExpander(typer, expandee, mode, pt) {
+ override def onSuccess(expanded: Tree) = {
+ val message = s"expanded into ${expanded.toString}"
+ typer.typed(q"println($message)")
+ }
+ }
+ Some(expander(expandee))
+ }
+ }
+} \ No newline at end of file