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 exposed in scala.reflect.macros.Context. 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
Content Hierarchy Learn more about scaladoc diagrams
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 Context extends Aliases with Enclosures with Names with Reifiers with FrontEnds with Infrastructure with Typers with Parsers with Evals with ExprUtils

   EXPERIMENTAL

4. #### trait Enclosures extends AnyRef

   EXPERIMENTAL

5. #### trait Evals extends AnyRef

   EXPERIMENTAL

6. #### trait ExprUtils extends AnyRef

   EXPERIMENTAL

7. #### trait FrontEnds extends AnyRef

   EXPERIMENTAL

8. #### trait Infrastructure extends AnyRef

   EXPERIMENTAL

9. #### trait Names extends AnyRef

   EXPERIMENTAL

10. #### case class ParseException(pos: Position, msg: String) extends java.lang.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 java.lang.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. #### abstract class TreeBuilder extends AnyRef

    EXPERIMENTAL

15. #### case class TypecheckException(pos: Position, msg: String) extends java.lang.Exception with Product with Serializable

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

16. #### trait Typers extends AnyRef

    EXPERIMENTAL

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

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

18. #### abstract class Universe extends api.Universe

    EXPERIMENTAL

### Inherited from AnyRef

### Inherited from Any

### Ungrouped