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()

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. 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 → TreeBuilder
  36. def mkAttributedQualifier(tpe: Global.Type, termSym: Global.Symbol): Global.Tree

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

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

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

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

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

  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 mkClassDef(mods: Global.Modifiers, name: Global.TypeName, tparams: List[Global.TypeDef], templ: Global.Template): Global.ClassDef

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

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

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

    Make forwarder to method target, passing all parameters in params

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    TreeGen → TreeBuilder
  65. def mkNamedArg(lhs: Global.Tree, rhs: Global.Tree): Global.Tree

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

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

    Definition Classes
    TreeGen
  68. def mkNil: Global.Tree

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

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

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

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

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

  74. def mkRuntimeUniverseRef: Global.Tree

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

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

  77. def mkSuperInitCall: Global.Select

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

    Make a synchronized block on 'monitor'.

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

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

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

  82. def mkSysErrorCall(message: String): Global.Tree

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

    Definition Classes
    TreeGen
  85. def mkTuple(elems: List[Global.Tree]): Global.Tree

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

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

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

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

  90. def mkWildcardImport(pkg: Global.Symbol): Global.Import

    Builds a fully attributed, synthetic wildcard import node.

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

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

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

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

  95. final def notify(): Unit

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

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

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

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

  100. def rootId(name: Global.Name): Global.Select

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

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

    Definition Classes
    TreeGen
  103. def scalaAnyRefConstr: Global.Select

    Definition Classes
    TreeGen
  104. def scalaAnyRefConstrRaw: Global.Select

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

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

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

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

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

    Definition Classes
    AnyRef
  110. def toString(): String

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

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

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

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

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