scala.tools.nsc.ast

TreeGen

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?

Linear Supertypes
TreeDSL, reflect.internal.TreeGen, TreeBuilder, AnyRef, Any
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TreeGen
  2. TreeDSL
  3. TreeGen
  4. TreeBuilder
  5. AnyRef
  6. Any
Implicitly
  1. by StringAdd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TreeGen()

Type Members

  1. class GetVarTraverser extends reflect.internal.SymbolTable.Traverser

    Definition Classes
    TreeGen

Abstract Value Members

  1. abstract val global: Global

    Definition Classes
    TreeGenTreeDSL → TreeGen → TreeBuilder

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from TreeGen to StringAdd[TreeGen] performed by method StringAdd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (TreeGen, B)

    Implicit information
    This member is added by an implicit conversion from TreeGen to ArrowAssoc[TreeGen] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. object CODE

    Definition Classes
    TreeDSL
  9. object Filter

    Definition Classes
    TreeGen
  10. object Yield

    Definition Classes
    TreeGen
  11. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def convertToSelectFromType(qual: Global.Tree, origName: Global.Name): Global.Tree with Serializable

    Try to convert Select(qual, name) to a SelectFromTypeTree.

  14. def convertToTypeName(tree: Global.Tree): Option[Global.RefTree]

    Translate names in Select/Ident nodes to type names.

  15. def ensuring(cond: (TreeGen) ⇒ Boolean, msg: ⇒ Any): TreeGen

    Implicit information
    This member is added by an implicit conversion from TreeGen to Ensuring[TreeGen] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: (TreeGen) ⇒ Boolean): TreeGen

    Implicit information
    This member is added by an implicit conversion from TreeGen to Ensuring[TreeGen] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean, msg: ⇒ Any): TreeGen

    Implicit information
    This member is added by an implicit conversion from TreeGen to Ensuring[TreeGen] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean): TreeGen

    Implicit information
    This member is added by an implicit conversion from TreeGen to Ensuring[TreeGen] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  21. 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

  22. def evalOnceAll(exprs: List[Global.Tree], owner: Global.Symbol, unit: Global.CompilationUnit)(within: (List[() ⇒ Global.Tree]) ⇒ Global.Tree): Global.Tree

  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from TreeGen to StringFormat[TreeGen] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  26. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  27. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  28. def maybeMkAsInstanceOf(tree: Global.Tree, pt: Global.Type, tpe: Global.Type, beforeRefChecks: Boolean): Global.Tree

    Definition Classes
    TreeGen
  29. def mkAnd(tree1: Global.Tree, tree2: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  30. 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.

  31. def mkAppliedTypeForCase(clazz: Global.Symbol): Global.Tree

  32. def mkAppliedTypeTree(fun: Global.Tree, targs: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen
  33. def mkApplyIfNeeded(qual: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  34. def mkAsInstanceOf(value: Global.Tree, tpe: Global.Type, any: Boolean, wrapInApply: Boolean): Global.Tree

    Definition Classes
    TreeGen
  35. def mkAssign(lhs: Global.Tree, rhs: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  36. def mkAssignAndReturn(lhs: Global.Symbol, rhs: Global.Tree): Global.Tree

  37. def mkAttributedIdent(sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  38. def mkAttributedQualifier(tpe: Global.Type, termSym: Global.Symbol): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  39. def mkAttributedQualifier(tpe: Global.Type): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  40. def mkAttributedRef(sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  41. def mkAttributedRef(pre: Global.Type, sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  42. def mkAttributedSelect(qual: Global.Tree, sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  43. def mkAttributedStableRef(sym: Global.Symbol): Global.Tree

    Definition Classes
    TreeGen
  44. def mkAttributedStableRef(pre: Global.Type, sym: Global.Symbol): Global.Tree

    Definition Classes
    TreeGen
  45. def mkAttributedThis(sym: Global.Symbol): Global.This

    Definition Classes
    TreeGen → TreeBuilder
  46. def mkAttributedTypeApply(target: Global.Tree, method: Global.Symbol, targs: List[Global.Type]): Global.Tree

    Definition Classes
    TreeGen
  47. def mkBindForCase(patVar: Global.Symbol, clazz: Global.Symbol, targs: List[Global.Type]): Global.Tree

  48. def mkBlock(stats: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen
  49. def mkCast(tree: Global.Tree, pt: Global.Type): Global.Tree

    Cast tree to type pt by creating one of the calls of the form

    Cast tree to type pt by creating one of the calls of the form

    x.asInstanceOf[pt] up to phase uncurry x.asInstanceOf[pt]() if after uncurry but before erasure x.$asInstanceOf[pt]() if at or after erasure

  50. 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.

  51. def mkCastPreservingAnnotations(tree: Global.Tree, pt: Global.Type): Global.Typed

  52. def mkCheckIfRefutable(pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
    TreeGen
  53. def mkClassDef(mods: Global.Modifiers, name: Global.TypeName, tparams: List[Global.TypeDef], templ: Global.Template): Global.ClassDef

    Definition Classes
    TreeGen
  54. def mkClassOf(tp: Global.Type): Global.Tree

    Definition Classes
    TreeGen
  55. def mkConstantZero(tp: Global.Type): Global.Constant

    Definition Classes
    TreeGen
  56. def mkFor(enums: List[Global.Tree], sugarBody: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
    TreeGen
  57. def mkForwarder(target: Global.Tree, vparamss: List[List[Global.Symbol]]): Global.Tree

    Make forwarder to method target, passing all parameters in params

  58. def mkFunctionTypeTree(argtpes: List[Global.Tree], restpe: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  59. def mkGenerator(pos: Global.Position, pat: Global.Tree, valeq: Boolean, rhs: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
    TreeGen
  60. 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}

  61. def mkIsInstanceOf(value: Global.Tree, tpe: Global.Type, any: Boolean, wrapInApply: Boolean): Global.Tree

    Definition Classes
    TreeGen
  62. def mkManifestFactoryCall(full: Boolean, constructor: String, tparg: Global.Type, args: List[Global.Tree]): Global.Tree

    A creator for a call to a scala.

    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

  63. def mkMethodCall(target: Global.Tree, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  64. def mkMethodCall(receiver: Global.Tree, method: Global.Symbol, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  65. def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  66. def mkMethodCall(target: Global.Tree, args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  67. def mkMethodCall(method: Global.Symbol, args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  68. def mkMethodCall(method: Global.Symbol, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  69. def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  70. def mkMethodFromFunction(localTyper: (analyzer)#Typer)(fun: Global.Function, owner: Global.Symbol, name: Global.TermName, additionalFlags: Global.FlagSet = NoFlags): Global.DefDef

    Create a method based on a Function

    Create a method based on a Function

    Used both to under -Ydelambdafy:method create a lifted function and under -Ydelamdafy:inline to create the apply method on the anonymous class.

    It creates a method definition with value params cloned from the original lambda. Then it calls a supplied function to create the body and types the result. Finally everything is wrapped up in a DefDef

    owner

    The owner for the new method

    name

    name for the new method

    additionalFlags

    flags to be put on the method in addition to FINAL

  71. def mkNamedArg(lhs: Global.Tree, rhs: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  72. def mkNamedArg(name: Global.Name, tree: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  73. def mkNew(parents: List[Global.Tree], self: Global.ValDef, stats: List[Global.Tree], npos: Global.Position, cpos: Global.Position): Global.Tree

    Definition Classes
    TreeGen
  74. def mkNil: Global.Tree

    Definition Classes
    TreeGen
  75. def mkNullaryCall(method: Global.Symbol, targs: List[Global.Type]): Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  76. def mkOr(tree1: Global.Tree, tree2: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  77. def mkPackageObject(defn: Global.ModuleDef, pidPos: Global.Position, pkgPos: Global.Position): Global.PackageDef

    Definition Classes
    TreeGen
  78. def mkParents(ownerMods: Global.Modifiers, parents: List[Global.Tree], parentPos: Global.Position): collection.immutable.List[Global.Tree]

    Definition Classes
    TreeGen
  79. def mkPatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.Tree]

    Definition Classes
    TreeGen
  80. def mkPatDef(pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.Tree]

    Definition Classes
    TreeGen
  81. def mkRuntimeCall(meth: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

  82. def mkRuntimeCall(meth: Global.Name, args: List[Global.Tree]): Global.Tree

  83. def mkRuntimeUniverseRef: Global.Tree

    Definition Classes
    TreeGen → TreeBuilder
  84. def mkSeqApply(arg: Global.Tree): Global.Apply

    Definition Classes
    TreeGen
  85. def mkSoftRef(expr: Global.Tree): Global.Tree

  86. def mkSuperInitCall: Global.Select

    Definition Classes
    TreeGen
  87. def mkSynchronized(monitor: Global.Tree, body: Global.Tree): Global.Tree

    Make a synchronized block on 'monitor'.

  88. def mkSynchronizedCheck(attrThis: Global.Tree, cond: Global.Tree, syncBody: List[Global.Tree], stats: List[Global.Tree]): Global.Tree

  89. def mkSynchronizedCheck(clazz: Global.Symbol, cond: Global.Tree, syncBody: List[Global.Tree], stats: List[Global.Tree]): Global.Tree

    Return the synchronized part of the double-checked locking idiom around the syncBody tree.

    Return the synchronized part of the double-checked locking idiom around the syncBody tree. It guards with cond and synchronizez on clazz.this. Additional statements can be included after initialization, (outside the synchronized block).

    The idiom works only if the condition is using a volatile field.

    See also

    http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

  90. def mkSyntheticParam(pname: Global.TermName): Global.ValDef

    Definition Classes
    TreeGen
  91. def mkSysErrorCall(message: String): Global.Tree

  92. 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
  93. def mkTreeOrBlock(stats: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen
  94. def mkTuple(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree

    Definition Classes
    TreeGen
  95. def mkTupleType(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree

    Definition Classes
    TreeGen
  96. def mkTypeApply(fun: Global.Tree, targs: List[Global.Tree]): Global.Tree

    Definition Classes
    TreeGen
  97. def mkUnattributedRef(fullName: Global.Name): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  98. def mkUnattributedRef(sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen → TreeBuilder
  99. def mkUnchecked(expr: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  100. def mkVisitor(cases: List[Global.CaseDef], checkExhaustive: Boolean, prefix: String)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
    TreeGen
  101. def mkWildcardImport(pkg: Global.Symbol): Global.Import

    Builds a fully attributed, synthetic wildcard import node.

  102. 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.

  103. def mkZero(tp: Global.Type): Global.Tree

    Definition Classes
    TreeGen
  104. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  105. def newModule(accessor: Global.Symbol, tpe: Global.Type): Global.Tree

  106. final def notify(): Unit

    Definition Classes
    AnyRef
  107. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  108. def paramToArg(arg: Global.Ident, isRepeatedParam: Boolean): Global.Tree

  109. def paramToArg(vparam: Global.ValDef): Global.Tree

  110. def paramToArg(vparam: Global.Symbol): Global.Tree

  111. object patvarTransformer extends reflect.internal.SymbolTable.Transformer

    Definition Classes
    TreeGen
  112. def rootId(name: Global.Name): Global.Select

    Definition Classes
    TreeGen
  113. def rootScalaDot(name: Global.Name): Global.Select

    Definition Classes
    TreeGen
  114. def scalaAnnotationDot(name: Global.Name): Global.Select

    Definition Classes
    TreeGen
  115. def scalaAnyRefConstr: Global.Select

    Definition Classes
    TreeGen
  116. def scalaDot(name: Global.Name): Global.Select

    Definition Classes
    TreeGen
  117. def scalaFunctionConstr(argtpes: List[Global.Tree], restpe: Global.Tree, abstractFun: Boolean): Global.Tree

    Definition Classes
    TreeGen
  118. def stabilize(tree: Global.Tree): Global.Tree

    Definition Classes
    TreeGen
  119. def stableTypeFor(tree: Global.Tree): Global.Type

    Definition Classes
    TreeGen
  120. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  121. def toString(): String

    Definition Classes
    AnyRef → Any
  122. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  123. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  124. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  125. def wildcardStar(tree: Global.Tree): Global.Typed

  126. def [B](y: B): (TreeGen, B)

    Implicit information
    This member is added by an implicit conversion from TreeGen to ArrowAssoc[TreeGen] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from TreeDSL

Inherited from reflect.internal.TreeGen

Inherited from TreeBuilder

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion StringAdd from TreeGen to StringAdd[TreeGen]

Inherited by implicit conversion StringFormat from TreeGen to StringFormat[TreeGen]

Inherited by implicit conversion Ensuring from TreeGen to Ensuring[TreeGen]

Inherited by implicit conversion ArrowAssoc from TreeGen to ArrowAssoc[TreeGen]

Ungrouped