object gen extends ast.TreeGen
Tree generation, usually based on existing symbols.
- Definition Classes
- Global â SymbolTable
- Source
- Global.scala
- Alphabetic
- By Inheritance
- gen
- TreeGen
- TreeDSL
- TreeGen
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
Value Members
- î
final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef â Any
- î
final def ##: Int
- Definition Classes
- AnyRef â Any
- î
final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef â Any
- î
final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- î
def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- î
def convertToSelectFromType(qual: Global.Tree, origName: Global.Name): Global.Tree with java.io.Serializable
Try to convert Select(qual, name) to a SelectFromTypeTree.
Try to convert Select(qual, name) to a SelectFromTypeTree.
- Definition Classes
- TreeGen
- î
def convertToTypeName(tree: Global.Tree): Option[Global.RefTree]
Translate names in Select/Ident nodes to type names.
Translate names in Select/Ident nodes to type names.
- Definition Classes
- TreeGen
- î
final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- î
def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef â Any
- î
def evalOnce(expr: Global.Tree, owner: Global.Symbol, fresh: FreshNameCreator)(within: (() => Global.Tree) => Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def evalOnce(expr: Global.Tree, owner: Global.Symbol, unit: Global.CompilationUnit)(within: (() => Global.Tree) => Global.Tree): Global.Tree
Used in situations where you need to access value of an expression several times
Used in situations where you need to access value of an expression several times
- Definition Classes
- TreeGen
- î
def evalOnceAll(exprs: List[Global.Tree], owner: Global.Symbol, fresh: FreshNameCreator)(within: (List[() => Global.Tree]) => Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def evalOnceAll(exprs: List[Global.Tree], owner: Global.Symbol, unit: Global.CompilationUnit)(within: (List[() => Global.Tree]) => Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def expandFunction(localTyper: (analyzer)#Typer)(fun: Global.Function, inConstructorFlag: Long): Global.Tree
- Definition Classes
- TreeGen
- î
def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- î
final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef â Any
- Annotations
- @native()
- î val global: Global.this.type
- î
def hashCode(): Int
- Definition Classes
- AnyRef â Any
- Annotations
- @native()
- î
final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- î
def isPatVarWarnable: Boolean
- Definition Classes
- TreeGen â TreeGen
- î
def isVarDefWarnable: Boolean
- Definition Classes
- TreeGen â TreeGen
- î
def maybeMkAsInstanceOf(tree: Global.Tree, pt: Global.Type, tpe: Global.Type, beforeRefChecks: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAnd(tree1: Global.Tree, tree2: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAnonymousNew(stats: List[Global.Tree]): Global.Tree
Creates a tree representing new Object { stats }.
Creates a tree representing new Object { stats }. To make sure an anonymous subclass of Object is created, if there are no stats, a () is added.
- Definition Classes
- TreeGen
- î
def mkAppliedTypeForCase(clazz: Global.Symbol): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAppliedTypeTree(fun: Global.Tree, targs: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkApplyIfNeeded(qual: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAsInstanceOf(value: Global.Tree, tpe: Global.Type, any: Boolean, wrapInApply: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAssign(lhs: Global.Tree, rhs: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAssignAndReturn(lhs: Global.Symbol, rhs: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î def mkAttributedCast(tree: Global.Tree, pt: Global.Type): Global.Tree
- î
def mkAttributedIdent(sym: Global.Symbol): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkAttributedQualifier(tpe: Global.Type, termSym: Global.Symbol): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAttributedQualifier(tpe: Global.Type): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAttributedQualifierIfPossible(prefix: Global.Type): Option[Global.Tree]
- Definition Classes
- TreeGen
- î
def mkAttributedRef(sym: Global.Symbol): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkAttributedRef(pre: Global.Type, sym: Global.Symbol): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkAttributedSelect(qual: Global.Tree, sym: Global.Symbol): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkAttributedStableRef(sym: Global.Symbol): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAttributedStableRef(pre: Global.Type, sym: Global.Symbol): Global.Tree
- Definition Classes
- TreeGen
- î
def mkAttributedThis(sym: Global.Symbol): Global.This
- Definition Classes
- TreeGen
- î
def mkAttributedTypeApply(target: Global.Tree, method: Global.Symbol, targs: List[Global.Type]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkBindForCase(patVar: Global.Symbol, clazz: Global.Symbol, targs: List[Global.Type]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkBlock(stats: List[Global.Tree], doFlatten: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkCast(tree: Global.Tree, pt: Global.Type): Global.Tree
Cast
tree
to typept
by creating one of the calls of the formCast
tree
to typept
by creating one of the calls of the formx.asInstanceOf[
pt
] up to phase uncurry x.asInstanceOf[pt
]() if after uncurry but before erasure x.$asInstanceOf[pt
]() if at or after erasure- Definition Classes
- TreeGen â TreeGen
- î
def mkCastArray(tree: Global.Tree, elemtp: Global.Type, pt: Global.Type): Global.Tree
Generate a cast for tree Tree representing Array with elem type elemtp to expected type pt.
Generate a cast for tree Tree representing Array with elem type elemtp to expected type pt.
- Definition Classes
- TreeGen
- î
def mkCastPreservingAnnotations(tree: Global.Tree, pt: Global.Type): Global.Typed
- Definition Classes
- TreeGen
- î
def mkCheckIfRefutable(pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree
- Definition Classes
- TreeGen
- î
def mkClassDef(mods: Global.Modifiers, name: Global.TypeName, tparams: List[Global.TypeDef], templ: Global.Template): Global.ClassDef
- Definition Classes
- TreeGen
- î
def mkClassOf(tp: Global.Type): Global.Tree
- Definition Classes
- TreeGen
- î
def mkConstantZero(tp: Global.Type): Global.Constant
- Definition Classes
- TreeGen
- î
def mkFor(enums: List[Global.Tree], sugarBody: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree
- Definition Classes
- TreeGen
- î
def mkForwarder(target: Global.Tree, vparamss: List[List[Global.Symbol]]): Global.Tree
Make forwarder to method
target
, passing all parameters inparams
Make forwarder to method
target
, passing all parameters inparams
- Definition Classes
- TreeGen
- î
def mkFunctionTypeTree(argtpes: List[Global.Tree], restpe: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkGenerator(pos: Global.Position, pat: Global.Tree, valeq: Boolean, rhs: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree
- Definition Classes
- TreeGen
- î
def mkImport(qualSym: Global.Symbol, name: Global.Name, toName: Global.Name): Global.Import
Builds a fully attributed, synthetic import node.
Builds a fully attributed, synthetic import node. import
qualSym
.{name
=>toName
}- Definition Classes
- TreeGen
- î
def mkImportFromSelector(qualSym: Global.Symbol, selector: List[Global.ImportSelector]): Global.Import
- Definition Classes
- TreeGen
- î
def mkIsInstanceOf(value: Global.Tree, tpe: Global.Type, any: Boolean, wrapInApply: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkLiftedFunctionBodyMethod(localTyper: (analyzer)#Typer)(owner: Global.Symbol, fun: Global.Function): Global.DefDef
- Definition Classes
- TreeGen
- î
def mkLiteralUnit: Global.Literal
- Definition Classes
- TreeGen
- î
def mkManifestFactoryCall(full: Boolean, constructor: String, tparg: Global.Type, args: List[Global.Tree]): Global.Tree
A creator for a call to a scala.reflect.Manifest or ClassManifest factory method.
A creator for a call to a scala.reflect.Manifest or ClassManifest factory method.
- full
full or partial manifest (target will be Manifest or ClassManifest)
- constructor
name of the factory method (e.g. "classType")
- tparg
the type argument
- args
value arguments
- returns
the tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(target: Global.Tree, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(receiver: Global.Tree, method: Global.Symbol, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(target: Global.Tree, args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(method: Global.Symbol, args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(method: Global.Symbol, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkMethodFromFunction(localTyper: (analyzer)#Typer)(owner: Global.Symbol, fun: Global.Function): Global.DefDef
- Definition Classes
- TreeGen
- î
def mkNamedArg(lhs: Global.Tree, rhs: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkNamedArg(name: Global.Name, tree: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkNew(parents: List[Global.Tree], self: Global.ValDef, stats: List[Global.Tree], npos: Global.Position, cpos: Global.Position): Global.Tree
- Definition Classes
- TreeGen
- î
def mkNil: Global.Tree
- Definition Classes
- TreeGen
- î
def mkNullaryCall(method: Global.Symbol, targs: List[Global.Type]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkOr(tree1: Global.Tree, tree2: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkPackageObject(defn: Global.ModuleDef, pidPos: Global.Position, pkgPos: Global.Position): Global.PackageDef
- Definition Classes
- TreeGen
- î
def mkParents(ownerMods: Global.Modifiers, parents: List[Global.Tree], parentPos: Global.Position): collection.immutable.List[Global.Tree]
- Definition Classes
- TreeGen
- î
def mkPatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree, rhsPos: Global.Position)(implicit fresh: FreshNameCreator): List[Global.ValDef]
- Definition Classes
- TreeGen
- î
def mkPatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.ValDef]
- Definition Classes
- TreeGen
- î
def mkPatDef(pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.ValDef]
- Definition Classes
- TreeGen
- î
def mkRuntimeCall(meth: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkRuntimeCall(meth: Global.Name, args: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkRuntimeUniverseRef: Global.Tree
- Definition Classes
- TreeGen
- î
def mkSeqApply(arg: Global.Tree): Global.Apply
- Definition Classes
- TreeGen
- î
def mkSoftRef(expr: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
final def mkStatic(orig: Global.DefDef, newName: Global.Name, maybeClone: (Global.Symbol) => Global.Symbol): Global.DefDef
Create a new
DefDef
based onorig
with an explicit self parameter.Create a new
DefDef
based onorig
with an explicit self parameter.Details:
- Must by run after erasure
- If
maybeClone
is the identity function, this runs "in place" and mutates the symbol oforig
.orig
should be discarded - Symbol owners and returns are substituted, as are parameter symbols
- Recursive calls are not rewritten. This is correct if we assume
that we either:
- are in "in-place" mode, but can guarantee that no recursive calls exists
- are associating the RHS with a cloned symbol, but intend for the original method to remain and for recursive calls to target it.
- Definition Classes
- TreeGen
- î
def mkSuperInitCall: Global.Select
- Definition Classes
- TreeGen
- î
def mkSynchronized(monitor: Global.Tree)(body: Global.Tree): Global.Tree
Make a synchronized block on 'monitor'.
Make a synchronized block on 'monitor'.
- Definition Classes
- TreeGen
- î
def mkSyntheticParam(pname: Global.TermName): Global.ValDef
- Definition Classes
- TreeGen
- î
def mkSyntheticUnit(): Global.Literal
- Definition Classes
- TreeGen
- î
def mkTemplate(parents: List[Global.Tree], self: Global.ValDef, constrMods: Global.Modifiers, vparamss: List[List[Global.ValDef]], body: List[Global.Tree], superPos: Global.Position): Global.Template
- Definition Classes
- TreeGen
- î
def mkThrowNewRuntimeException(message: String): Global.Throw
- Definition Classes
- TreeGen
- î
def mkTreeOrBlock(stats: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkTuple(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkTupleType(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def mkTypeApply(fun: Global.Tree, targs: List[Global.Tree]): Global.Tree
- Definition Classes
- TreeGen
- î
def mkUnattributedRef(fullName: Global.Name): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkUnattributedRef(sym: Global.Symbol): Global.RefTree
- Definition Classes
- TreeGen
- î
def mkUnchecked(expr: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def mkUnitBlock(expr: Global.Tree): Global.Block
- Definition Classes
- TreeGen
- î
def mkVisitor(cases: List[Global.CaseDef], checkExhaustive: Boolean, prefix: String)(implicit fresh: FreshNameCreator): Global.Tree
- Definition Classes
- TreeGen
- î
def mkWildcardImport(pkg: Global.Symbol): Global.Import
Builds a fully attributed, synthetic wildcard import node.
Builds a fully attributed, synthetic wildcard import node.
- Definition Classes
- TreeGen
- î
def mkWrapVarargsArray(tree: Global.Tree, elemtp: Global.Type): Global.Tree
Applies a wrapArray call to an array, making it an immutable ArraySeq suitable for Scala varargs.
Applies a wrapArray call to an array, making it an immutable ArraySeq suitable for Scala varargs. Don't let a reference type parameter be inferred, in case it's a singleton: apply the element type directly.
- Definition Classes
- TreeGen
- î
def mkZero(tp: Global.Type): Global.Tree
- Definition Classes
- TreeGen
- î
final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- î
def newModule(accessor: Global.Symbol, tpe: Global.Type): Global.Tree
- Definition Classes
- TreeGen
- î
final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- î
final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- î
def paramToArg(arg: Global.Ident, isRepeatedParam: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def paramToArg(vparam: Global.ValDef): Global.Tree
- Definition Classes
- TreeGen
- î
def paramToArg(vparam: Global.Symbol): Global.Tree
- Definition Classes
- TreeGen
- î
def rootId(name: Global.Name): Global.Select
- Definition Classes
- TreeGen
- î
def rootScalaDot(name: Global.Name): Global.Select
- Definition Classes
- TreeGen
- î
def scalaAnnotationDot(name: Global.Name): Global.Select
- Definition Classes
- TreeGen
- î
def scalaAnyRefConstr: Global.Select
- Definition Classes
- TreeGen
- î
def scalaDot(name: Global.Name): Global.Select
- Definition Classes
- TreeGen
- î
def scalaFunctionConstr(argtpes: List[Global.Tree], restpe: Global.Tree, abstractFun: Boolean): Global.Tree
- Definition Classes
- TreeGen
- î
def stabilize(tree: Global.Tree): Global.Tree
- Definition Classes
- TreeGen
- î
def stableTypeFor(tree: Global.Tree): Global.Type
- Definition Classes
- TreeGen
- î
final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- î
def toString(): String
- Definition Classes
- AnyRef â Any
- î
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- î
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- î
final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- î
def wildcardStar(tree: Global.Tree): Global.Typed
- Definition Classes
- TreeGen
- î
object Filter
- Definition Classes
- TreeGen
- î
object Yield
- Definition Classes
- TreeGen
- î
object patvarTransformer extends PatvarTransformer
- Definition Classes
- TreeGen
- î
object CODE
- Definition Classes
- TreeDSL
The Scala compiler and reflection APIs.