Packages

trait GenSymbols extends AnyRef

Self Type
Reifier
Source
GenSymbols.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenSymbols
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Reification(name: tools.nsc.Global.Name, binding: tools.nsc.Global.Tree, tree: tools.nsc.Global.Tree) extends Product with Serializable

Value Members

  1. def reifyFreeTerm(binding: tools.nsc.Global.Tree): tools.nsc.Global.Tree
  2. def reifyFreeType(binding: tools.nsc.Global.Tree): tools.nsc.Global.Tree
  3. def reifySymDef(sym: tools.nsc.Global.Symbol): tools.nsc.Global.Tree
  4. def reifySymRef(sym: tools.nsc.Global.Symbol): tools.nsc.Global.Tree

    Reify a reference to a symbol

  5. def symtab: Reifier.SymbolTable

    Symbol table of the reifee.

    Symbol table of the reifee.

    Keeps track of auxiliary symbols that are necessary for this reification session. These include: 1) Free vars (terms, types and existentials), 2) Non-locatable symbols (sometimes, e.g. for RefinedTypes, we need to reify these; to do that we create their copies in the reificode) 3) Non-locatable symbols that are referred by #1, #2 and #3

    Exposes three main methods: 1) syms that lists symbols belonging to the table, 2) symXXX family of methods that provide information about the symbols in the table, 3) encode that renders the table into a list of trees (recursively populating #3 and setting up initialization code for #1, #2 and #3)