macros

packagemacros

EXPERIMENTAL

The base package for Scala macros.

Macros are functions that are called by the compiler during compilation.
Within these functions the programmer has access to compiler APIs.
For example, it is possible to generate, analyze and typecheck code.

In Scala 2.11, macros that were once the one are split into blackbox and whitebox macros,
with the former being better supported and the latter being more powerful. You can read about
the details of the split and the associated trade-offs in the Macros Guide.

scala.reflect.macros.Context follows this tendency and turns into scala.reflect.macros.blackbox.Context
and scala.reflect.macros.whitebox.Context. The original Context is left in place for compatibility reasons,
but it is now deprecated, nudging the users to choose between blackbox and whitebox macros.

Annotations

@deprecated

Deprecated

(Since version 2.11.0) Use blackbox.Context or whitebox.Context instead