Package

org.emmalanguage

ast

Permalink

package ast

Visibility
  1. Public
  2. All

Type Members

  1. trait AST extends CommonAST with Bindings with Loops with Methods with Parameters with Patterns with Symbols with Terms with Transversers with Trees with Types with Values with Variables

    Permalink

    Common super-trait for macro- and runtime-compilation.

  2. trait Bindings extends AnyRef

    Permalink

    Bindings (values, variables and parameters).

  3. trait CommonAST extends AnyRef

    Permalink

    Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros and runtime reflection APIs, e.g.

    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.

  4. trait JavaAST extends AST

    Permalink

    Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros APIs, e.g.

    Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros APIs, e.g. non- idempotent type checking, lack of hygiene, capture-avoiding substitution, fully-qualified names, fresh name generation, identifying closures, etc.

  5. trait Loops extends AnyRef

    Permalink

    Loops (while and do-while).

  6. trait MacroAST extends AST

    Permalink

    Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros APIs, e.g.

    Implements various utility functions that mitigate and/or workaround deficiencies in Scala's macros APIs, e.g. non- idempotent type checking, lack of hygiene, capture-avoiding substitution, fully-qualified names, fresh name generation, identifying closures, etc.

  7. trait Methods extends AnyRef

    Permalink

    Methods (defs).

  8. trait Parameters extends AnyRef

    Permalink

    (method / lambda) Parameters.

  9. trait Patterns extends AnyRef

    Permalink

    Patterns (for pattern matching).

  10. trait Symbols extends AnyRef

    Permalink
  11. trait Terms extends AnyRef

    Permalink
  12. trait Transversers extends AnyRef

    Permalink

    Utility for traversing and transforming trees.

  13. trait Trees extends AnyRef

    Permalink
  14. trait Types extends AnyRef

    Permalink
  15. trait Values extends AnyRef

    Permalink

    Values (vals).

  16. trait Variables extends AnyRef

    Permalink

    Variables (vars).

Ungrouped