blob: a69cc525967bc5d3b5119d2ff8523a691f7cd7d0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package mill.util
import sourcecode.Compat.Context
import language.experimental.macros
case class EnclosingClass(value: Class[_])
object EnclosingClass{
def apply()(implicit c: EnclosingClass) = c.value
implicit def generate: EnclosingClass = macro impl
def impl(c: Context): c.Tree = {
import c.universe._
val cls = c.internal.enclosingOwner.owner.asType.asClass
// q"new _root_.mill.define.EnclosingClass(classOf[$cls])"
q"new _root_.mill.util.EnclosingClass(this.getClass)"
}
}
|