package p1

import scala.reflect.macros.blackbox._
import language.experimental.macros

object Macro {
  def impl(c: Context): c.Tree = {
    import c.universe._
    val tsym = rootMirror.staticClass("p1.Base")
    val subclasses = tsym.knownDirectSubclasses.toList.map(_.name.toString)
    q"$subclasses"
  }
  def p1_Base_knownDirectSubclasses: List[String] = macro impl
}
