summaryrefslogtreecommitdiff
path: root/test/files/run/macro-toplevel-companion-b/Impls_Macros_1.scala
blob: f30adc2965c3e854b316a880336654d45f3874f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import scala.reflect.macros.Context
import language.experimental.macros

object Macros {
  def impl(c: Context) = {
    import c.universe._
    val Block(List(cdef: ClassDef), _) = reify{ class C }.tree
    val classRef = c.topLevelRef(TypeName("C")) orElse c.introduceTopLevel(nme.EMPTY_PACKAGE_NAME.toString, cdef)
    val Block(List(mdef: ModuleDef), _) = reify{ object C }.tree
    val moduleRef = c.topLevelRef(TermName("C")) orElse c.introduceTopLevel(nme.EMPTY_PACKAGE_NAME.toString, mdef)
    c.literalUnit
  }

  def foo = macro impl
}