Skip to content

Instantly share code, notes, and snippets.

@rssh
Last active August 29, 2015 14:06
Show Gist options
  • Save rssh/cc0ff1fda7891e9d8ec9 to your computer and use it in GitHub Desktop.
Save rssh/cc0ff1fda7891e9d8ec9 to your computer and use it in GitHub Desktop.
jdv_article19 (macros example)
object Log
{
def apply(msg: String): Unit = macro applyImpl
def applyImpl(c: Context)(msg: c.Expr[String]):c.Expr[Unit] =
{
import c.universe._
val tree = q"""if (Log.enabled) {
Log.log(${msg})
}
"""
c.Expr[Unit](tree)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment