trait Reify extends GenSymbols with GenTypes with GenNames with GenTrees with GenAnnotationInfos with GenPositions with GenUtils
- Alphabetic
- By Inheritance
- Reify
- GenUtils
- GenPositions
- GenAnnotationInfos
- GenTrees
- GenNames
- GenTypes
- GenSymbols
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- case class Reification(name: tools.nsc.Global.Name, binding: tools.nsc.Global.Tree, tree: tools.nsc.Global.Tree) extends Product with Serializable
- Definition Classes
- GenSymbols
Value Members
- object TypedOrAnnotated
- Definition Classes
- GenUtils
- def boundSymbolsInCallstack: List[tools.nsc.Global.Symbol]
- def call(fname: String, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def current: Any
- def currents: List[Any]
- final def isCrossStageTypeBearer(tree: tools.nsc.Global.Tree): Boolean
- Definition Classes
- GenUtils
- Annotations
- @tailrec()
- def isSemiConcreteTypeMember(tpe: tools.nsc.Global.Type): Boolean
- Definition Classes
- GenUtils
- def mirrorBuildCall(name: tools.nsc.Global.TermName, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorCall(name: tools.nsc.Global.TermName, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorFactoryCall(prefix: tools.nsc.Global.TermName, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorFactoryCall(value: Product, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorMirrorCall(name: tools.nsc.Global.TermName, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorMirrorSelect(name: tools.nsc.Global.TermName): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorSelect(name: tools.nsc.Global.TermName): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mirrorSelect(name: String): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mkList(args: List[tools.nsc.Global.Tree]): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def mkListMap(args: List[tools.nsc.Global.Tree]): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def origin(sym: tools.nsc.Global.Symbol): String
- Definition Classes
- GenUtils
- def path(fullname: String, mkName: (String) => tools.nsc.Global.Name): tools.nsc.Global.Tree
An (unreified) path that refers to definition with given fully qualified name
An (unreified) path that refers to definition with given fully qualified name
- mkName
Creator for last portion of name (either TermName or TypeName)
- Definition Classes
- GenUtils
- def reificationIsConcrete: Boolean
Keeps track of whether this reification contains abstract type parameters
Keeps track of whether this reification contains abstract type parameters
- Definition Classes
- GenTypes
- def reify(reifee: Any): tools.nsc.Global.Tree
Reifies any supported value.
Reifies any supported value. For internal use only, use
reified
instead. - def reifyAnnotationInfo(ann: tools.nsc.Global.AnnotationInfo): tools.nsc.Global.Tree
- Definition Classes
- GenAnnotationInfos
- def reifyBuildCall(name: tools.nsc.Global.TermName, args: Any*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def reifyFlags(flags: tools.nsc.Global.FlagSet): tools.nsc.Global.Tree
- Definition Classes
- GenTrees
- def reifyFreeTerm(binding: tools.nsc.Global.Tree): tools.nsc.Global.Tree
- Definition Classes
- GenSymbols
- def reifyFreeType(binding: tools.nsc.Global.Tree): tools.nsc.Global.Tree
- Definition Classes
- GenSymbols
- def reifyList(xs: List[Any]): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def reifyMirrorObject(x: Product): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def reifyMirrorObject(name: String): tools.nsc.Global.Tree
Reify a case object defined in Mirror
Reify a case object defined in Mirror
- Definition Classes
- GenUtils
- def reifyModifiers(m: tools.nsc.Global.Modifiers): tools.nsc.Global.Tree
- Definition Classes
- GenTrees
- def reifyName(name: tools.nsc.Global.Name): tools.nsc.Global.Tree
- Definition Classes
- GenNames
- def reifyPosition(pos: tools.nsc.Global.Position): tools.nsc.Global.Tree
- Definition Classes
- GenPositions
- Annotations
- @nowarn()
- def reifyProduct(prefix: String, elements: List[Any]): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def reifyProduct(x: Product): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def reifySymDef(sym: tools.nsc.Global.Symbol): tools.nsc.Global.Tree
- Definition Classes
- GenSymbols
- def reifySymRef(sym: tools.nsc.Global.Symbol): tools.nsc.Global.Tree
Reify a reference to a symbol
Reify a reference to a symbol
- Definition Classes
- GenSymbols
- def reifyTree(tree: tools.nsc.Global.Tree): tools.nsc.Global.Tree
Reify a tree.
Reify a tree. For internal use only, use
reified
instead.- Definition Classes
- GenTrees
- def reifyTreeSymbols: Boolean
- Definition Classes
- GenTrees
- def reifyTreeSyntactically(tree: tools.nsc.Global.Tree): tools.nsc.Global.Tree
- Definition Classes
- GenTrees
- def reifyTreeTypes: Boolean
- Definition Classes
- GenTrees
- def reifyType(tpe: tools.nsc.Global.Type): tools.nsc.Global.Tree
Reify a type.
Reify a type. For internal use only, use
reified
instead.- Definition Classes
- GenTypes
- def scalaFactoryCall(name: String, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def scalaFactoryCall(name: tools.nsc.Global.TermName, args: tools.nsc.Global.Tree*): tools.nsc.Global.Tree
- Definition Classes
- GenUtils
- def spliceType(tpe: tools.nsc.Global.Type): tools.nsc.Global.Tree
- Definition Classes
- GenTypes
- 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)- Definition Classes
- GenSymbols
- def termPath(fullname: String): tools.nsc.Global.Tree
An (unreified) path that refers to term definition with given fully qualified name
An (unreified) path that refers to term definition with given fully qualified name
- Definition Classes
- GenUtils
The Scala compiler and reflection APIs.