scala.reflect

macros

package macros

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.

See the Macros Guide on how to get started with Scala macros.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. macros
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Aliases extends AnyRef

    EXPERIMENTAL

  2. abstract class Attachments extends AnyRef

    EXPERIMENTAL

  3. trait Enclosures extends AnyRef

    EXPERIMENTAL

  4. trait Evals extends AnyRef

    EXPERIMENTAL

  5. trait ExprUtils extends AnyRef

    EXPERIMENTAL

  6. trait FrontEnds extends AnyRef

    EXPERIMENTAL

  7. trait Infrastructure extends AnyRef

    EXPERIMENTAL

  8. trait Internals extends AnyRef

    EXPERIMENTAL

  9. trait Names extends AnyRef

    EXPERIMENTAL

  10. case class ParseException(pos: Position, msg: String) extends Exception with Product with Serializable

    Indicates an error during scala.reflect.macros.Parsers#parse.

  11. trait Parsers extends AnyRef

    EXPERIMENTAL

  12. case class ReificationException(pos: Position, msg: String) extends Exception with Product with Serializable

    Indicates an expected error during one of the reifyXXX methods in scala.reflect.macros.Reifiers.

  13. trait Reifiers extends AnyRef

    EXPERIMENTAL

  14. case class TypecheckException(pos: Position, msg: String) extends Exception with Product with Serializable

    Indicates an error during one of the methods in scala.reflect.macros.Typers.

  15. trait Typers extends AnyRef

    EXPERIMENTAL

  16. case class UnexpectedReificationException(pos: Position, msg: String, cause: Throwable = null) extends Exception with Product with Serializable

    Indicates an unexpected expected error during one of the reifyXXX methods in scala.reflect.macros.Reifiers.

  17. abstract class Universe extends api.Universe

    EXPERIMENTAL

  18. type Context = macros.whitebox.Context

    The Scala macros context.

    The Scala macros context.

    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

Value Members

  1. package blackbox

  2. package whitebox

Inherited from AnyRef

Inherited from Any

Ungrouped