Syntax sugar for partial functions.
Meta information (attachments).
Common parent for all virtual AST nodes.
Raises an error and terminates compilation.
Returns the enclosing named entity (class, method, value, etc).
Evaluates a snippet of code and returns a value of type T.
Evaluates a snippet of code and returns a value of type T.
Note: this can be called on type--checked trees (as opposed to the eval method in ToolBox).
Infers an implicit value from the enclosing context (if possible).
Returns the meta information associated with tree.
Returns the meta information associated with sym.
Parses a snippet of source code and returns the AST.
Type-checks a tree (use typeMode=true for type-trees).
Raises a compiler warning.
All explicit flags.
Constant limits.
Just evaluate the tree transform.
Evaluate and time each node.
Factors out the implicit objects that need to be imported from the Scala universe.
Factors out the implicit objects that need to be imported from the Scala universe.
Please use
import UniverseImplicits._
u.Type
u.methodas opposed to
import universe._ // or import u._ Type method
in order to make the parts of the Emma compiler which depend on the Scala metaprogramming API explicit.
Removes all type and symbol attributes from a tree.
Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros and runtime reflection APIs, e.g. non-idempotent type checking, lack of hygiene, capture-avoiding substitution, fully-qualified names, fresh name generation, identifying closures, etc.
This trait has to be instantiated with a scala.reflect.api.Universe type and works for both runtime and compile time reflection.