// Scala 2
import scala.language.experimental.macros
def macroMethod[A](a: A): SthOf[A] =
macro macroMethodImpl[A]
import scala.reflect.macros.blackbox
def macroMethodImpl[A: c.WeakTypeTag](
c: blackbox.Context
)(a: c.Expr[A]): c.Expr[SthOf[A]] = {
import c.universe._
...
}