abstract class TreeGen extends reflect.internal.TreeGen with TreeDSL
XXX to resolve: TreeGen only assumes global is a SymbolTable, but TreeDSL at the moment expects a Global. Can we get by with SymbolTable?
- Source
- TreeGen.scala
- Alphabetic
- By Inheritance
- TreeGen
- TreeDSL
- TreeGen
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new TreeGen()
Type Members
Concrete Value Members
-
object
CODE
- Definition Classes
- TreeDSL
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (TreeGen, B)
-
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( ... ) @native()
-
def
convertToSelectFromType(qual: Global.Tree, origName: Global.Name): Global.Tree with Serializable
Try to convert Select(qual, name) to a SelectFromTypeTree.
-
def
convertToTypeName(tree: Global.Tree): Option[Global.RefTree]
Translate names in Select/Ident nodes to type names.
- def ensuring(cond: (TreeGen) ⇒ Boolean, msg: ⇒ Any): TreeGen
- def ensuring(cond: (TreeGen) ⇒ Boolean): TreeGen
- def ensuring(cond: Boolean, msg: ⇒ Any): TreeGen
- def ensuring(cond: Boolean): TreeGen
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def evalOnce(expr: Global.Tree, owner: Global.Symbol, fresh: FreshNameCreator)(within: (() ⇒ Global.Tree) ⇒ Global.Tree): Global.Tree
-
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
- def evalOnceAll(exprs: List[Global.Tree], owner: Global.Symbol, fresh: FreshNameCreator)(within: (List[() ⇒ Global.Tree]) ⇒ Global.Tree): Global.Tree
- def evalOnceAll(exprs: List[Global.Tree], owner: Global.Symbol, unit: Global.CompilationUnit)(within: (List[() ⇒ Global.Tree]) ⇒ Global.Tree): Global.Tree
- def expandFunction(localTyper: (analyzer)#Typer)(fun: Global.Function, inConstructorFlag: Long): Global.Tree
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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
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.
- def mkAppliedTypeForCase(clazz: Global.Symbol): Global.Tree
-
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
-
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
-
def
mkBlock(stats: List[Global.Tree], doFlatten: Boolean): Global.Tree
- Definition Classes
- TreeGen
-
def
mkCast(tree: Global.Tree, pt: Global.Type): Global.Tree
Cast
treeto typeptby creating one of the calls of the formCast
treeto typeptby 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.
- def mkCastPreservingAnnotations(tree: Global.Tree, pt: Global.Type): Global.Typed
-
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 -
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} -
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
-
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
-
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
-
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
- def mkRuntimeCall(meth: Global.Name, args: List[Global.Tree]): Global.Tree
-
def
mkRuntimeUniverseRef: Global.Tree
- Definition Classes
- TreeGen
-
def
mkSeqApply(arg: Global.Tree): Global.Apply
- Definition Classes
- TreeGen
- def mkSoftRef(expr: Global.Tree): Global.Tree
-
final
def
mkStatic(orig: Global.DefDef, newName: Global.Name, maybeClone: (Global.Symbol) ⇒ Global.Symbol): Global.DefDef
Create a new
DefDefbased onorigwith an explicit self parameter.Create a new
DefDefbased onorigwith an explicit self parameter.Details:
- Must by run after erasure
- If
maybeCloneis the identity function, this runs "in place" and mutates the symbol oforig.origshould 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.
-
def
mkSuperInitCall: Global.Select
- Definition Classes
- TreeGen
-
def
mkSynchronized(monitor: Global.Tree)(body: Global.Tree): Global.Tree
Make a synchronized block on 'monitor'.
-
def
mkSyntheticParam(pname: Global.TermName): Global.ValDef
- Definition Classes
- TreeGen
-
def
mkSyntheticUnit(): Global.Literal
- Definition Classes
- TreeGen
- def mkSysErrorCall(message: String): Global.Tree
-
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
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.
-
def
mkWrapArray(tree: Global.Tree, elemtp: Global.Type): Global.Tree
Applies a wrapArray call to an array, making it a WrappedArray.
Applies a wrapArray call to an array, making it a WrappedArray. Don't let a reference type parameter be inferred, in case it's a singleton: apply the element type directly.
-
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
-
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
- def paramToArg(vparam: Global.ValDef): Global.Tree
- def paramToArg(vparam: Global.Symbol): Global.Tree
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def wildcardStar(tree: Global.Tree): Global.Typed
- def →[B](y: B): (TreeGen, B)
-
object
Filter
- Definition Classes
- TreeGen
-
object
Yield
- Definition Classes
- TreeGen
-
object
patvarTransformer extends PatvarTransformer
- Definition Classes
- TreeGen
Deprecated Value Members
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from TreeGen to StringFormat[TreeGen] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
The Scala compiler and reflection APIs.