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, 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. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  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

Concrete Value Members

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

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Implicit information
    This member is added by an implicit conversion from TreeGen to any2stringadd[TreeGen] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. 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()
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  6. object CODE

    Definition Classes
    TreeDSL
  7. object Filter

    Definition Classes
    TreeGen
  8. object Yield

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

    Definition Classes
    Any
  10. def clone(): AnyRef

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

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

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

    Translate names in Select/Ident nodes to type names.

  13. 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
  14. 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
  15. 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
  16. 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
  17. final def eq(arg0: AnyRef): Boolean

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

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

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

  21. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. 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()
  23. final def getClass(): Class[_]

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

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

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    TreeGen
  37. def mkAttributedQualifier(tpe: Global.Type): Global.Tree

    Definition Classes
    TreeGen
  38. def mkAttributedRef(sym: Global.Symbol): Global.RefTree

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

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

    Definition Classes
    TreeGen
  41. def mkAttributedStableRef(sym: Global.Symbol): Global.Tree

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Make forwarder to method target, passing all parameters in params

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    TreeGen
  72. def mkNil: Global.Tree

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

    Definition Classes
    TreeGen
  74. def mkOr(tree1: Global.Tree, tree2: Global.Tree): Global.Tree

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

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

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

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

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

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

  81. def mkRuntimeUniverseRef: Global.Tree

    Definition Classes
    TreeGen
  82. def mkSeqApply(arg: Global.Tree): Global.Apply

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

  84. def mkSuperInitCall: Global.Select

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

    Make a synchronized block on 'monitor'.

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

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

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

    Definition Classes
    TreeGen
  89. def mkSyntheticUnit(): Global.Literal

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

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

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

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

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

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

    Definition Classes
    TreeGen
  97. def mkUnattributedRef(sym: Global.Symbol): Global.RefTree

    Definition Classes
    TreeGen
  98. def mkUnchecked(expr: Global.Tree): Global.Tree

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

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

    Builds a fully attributed, synthetic wildcard import node.

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

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

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

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

  105. final def notify(): Unit

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

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

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

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

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

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

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

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

    Definition Classes
    TreeGen
  114. def scalaAnyRefConstr: Global.Select

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

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

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

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

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

    Definition Classes
    AnyRef
  120. def toString(): String

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

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

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

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

  125. 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 AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from TreeGen to any2stringadd[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