1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
package macroRuntime
import scala.tools.nsc.Global
import scala.tools.nsc.plugins.{Plugin => NscPlugin}
class Plugin(val global: Global) extends NscPlugin {
import global._
import analyzer._
val name = "macroRuntime"
val description = "A sample analyzer plugin that overrides macroRuntime."
val components = Nil
addMacroPlugin(MacroPlugin)
object MacroPlugin extends MacroPlugin {
override def pluginsMacroRuntime(expandee: Tree): Option[MacroRuntime] = Some({
case MacroArgs(_, List(msg)) => q"""println("hijacked")"""
})
}
}
|