scala.tools.nsc.Global

gen

object gen extends TreeGen

Definition Classes
GlobalTreeBuildUtil → TreeBuildUtil
Source
Global.scala
Linear Supertypes
TreeGen, TreeDSL, TreeGen, AbsTreeGen, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. gen
  2. TreeGen
  3. TreeDSL
  4. TreeGen
  5. AbsTreeGen
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class MatchMatcher extends AnyRef

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. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  6. object CODE extends AnyRef

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

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

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

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

    Definition Classes
    TreeGen
  10. def convertToTypeName(tree: Tree): Option[RefTree]

    Translate names in Select/Ident nodes to type names.

    Translate names in Select/Ident nodes to type names.

    Definition Classes
    TreeGen
  11. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  13. def evalOnce(expr: Tree, owner: Symbol, unit: CompilationUnit)(within: (() ⇒ Tree) ⇒ Tree): 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
  14. def evalOnceAll(exprs: List[Tree], owner: Symbol, unit: CompilationUnit)(within: (List[() ⇒ Tree]) ⇒ Tree): Tree

    Definition Classes
    TreeGen
  15. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. val global: Global.this.type

    Definition Classes
    genTreeGenTreeDSLTreeGen → AbsTreeGen
  18. def hasSynthCaseSymbol(t: Tree): Boolean

    Definition Classes
    TreeGen
  19. def hashCode(): Int

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

    Definition Classes
    Any
  21. def maybeMkAsInstanceOf(tree: Tree, pt: Type, tpe: Type, beforeRefChecks: Boolean = false): Tree

    Cast tree to pt, unless tpe is a subtype of pt, or pt is Unit.

    Cast tree to pt, unless tpe is a subtype of pt, or pt is Unit.

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

    Definition Classes
    TreeGen
  23. def mkAppliedTypeForCase(clazz: Symbol): Tree

    Definition Classes
    TreeGen
  24. def mkApplyIfNeeded(qual: Tree): Tree

    If this is a reference to a method with an empty parameter list, wrap it in an apply.

    If this is a reference to a method with an empty parameter list, wrap it in an apply.

    Definition Classes
    TreeGen
  25. def mkAsInstanceOf(value: Tree, tpe: Type, any: Boolean = true, wrapInApply: Boolean = true): Tree

    Builds a cast with given value and type.

    Builds a cast with given value and type.

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

    Definition Classes
    TreeGen
  27. def mkAttributedCast(tree: Tree, pt: Type): Tree

  28. def mkAttributedIdent(sym: Symbol): Tree

    Definition Classes
    TreeGen → AbsTreeGen
  29. def mkAttributedQualifier(tpe: Type, termSym: Symbol): Tree

    Builds a reference to value whose type is given stable prefix.

    Builds a reference to value whose type is given stable prefix. If the type is unsuitable, e.g. it is a TypeRef for an abstract type variable, then an Ident will be made using termSym as the Ident's symbol. In that case, termSym must not be NoSymbol.

    Definition Classes
    TreeGen → AbsTreeGen
  30. def mkAttributedQualifier(tpe: Type): Tree

    Builds a reference to value whose type is given stable prefix.

    Builds a reference to value whose type is given stable prefix. The type must be suitable for this. For example, it must not be a TypeRef pointing to an abstract type variable.

    Definition Classes
    TreeGen → AbsTreeGen
  31. def mkAttributedRef(sym: Symbol): Tree

    Builds a reference to given symbol.

    Builds a reference to given symbol.

    Definition Classes
    TreeGen → AbsTreeGen
  32. def mkAttributedRef(pre: Type, sym: Symbol): Tree

    Builds a reference to given symbol with given stable prefix.

    Builds a reference to given symbol with given stable prefix.

    Definition Classes
    TreeGen → AbsTreeGen
  33. def mkAttributedSelect(qual: Tree, sym: Symbol): Tree

    Definition Classes
    TreeGen → AbsTreeGen
  34. def mkAttributedStableRef(sym: Symbol): Tree

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

    Builds a reference with stable type to given symbol

    Builds a reference with stable type to given symbol

    Definition Classes
    TreeGen
  36. def mkAttributedThis(sym: Symbol): Tree

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

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

    Definition Classes
    TreeGen
  39. def mkCached(cvar: Symbol, expr: Tree): Tree

    Definition Classes
    TreeGen
  40. def mkCachedModuleAccessDef(accessor: Symbol, mvar: Symbol): DefDef

    Definition Classes
    TreeGen
  41. def mkCast(tree: Tree, pt: Type): 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
  42. def mkCastArray(tree: Tree, elemtp: Type, pt: Type): 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
  43. def mkCheckInit(tree: Tree): Tree

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

    Apparently we smuggle a Type around as a Literal(Constant(tp)) and the implementation of Constant#tpe is such that x.

    Apparently we smuggle a Type around as a Literal(Constant(tp)) and the implementation of Constant#tpe is such that x.tpe becomes ClassType(value.asInstanceOf[Type]), i.e. java.lang.Class[Type]. Can't find any docs on how/why it's done this way. See ticket SI-490 for some interesting comments from lauri alanko suggesting that the type given by classOf[T] is too strong and should be weakened so as not to suggest that classOf[List[String]] is any different from classOf[List[Int]].

    !!! See deconstMap in Erasure for one bug this encoding has induced: I would be very surprised if there aren't more.

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

    Definition Classes
    TreeGen
  46. def mkDoubleCheckedLocking(attrThis: Tree, cond: Tree, syncBody: List[Tree], stats: List[Tree]): Tree

    Definition Classes
    TreeGen
  47. def mkDoubleCheckedLocking(clazz: Symbol, cond: Tree, syncBody: List[Tree], stats: List[Tree]): Tree

    Return a double-checked locking idiom around the syncBody tree.

    Return a 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.

    Definition Classes
    TreeGen
    See also

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

  48. def mkForwarder(target: Tree, vparamss: List[List[Symbol]]): Tree

    Make forwarder to method target, passing all parameters in params

    Make forwarder to method target, passing all parameters in params

    Definition Classes
    TreeGen
  49. def mkIsInstanceOf(value: Tree, tpe: Type, any: Boolean = true, wrapInApply: Boolean = true): Tree

    Builds an instance test with given value and type.

    Builds an instance test with given value and type.

    Definition Classes
    TreeGen
  50. def mkManifestFactoryCall(full: Boolean, constructor: String, tparg: Type, args: List[Tree]): 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

    Definition Classes
    TreeGen
  51. def mkMethodCall(target: Tree, targs: List[Type], args: List[Tree]): Tree

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

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

    Definition Classes
    TreeGen → AbsTreeGen
  54. def mkMethodCall(target: Tree, args: List[Tree]): Tree

    Definition Classes
    TreeGen → AbsTreeGen
  55. def mkMethodCall(method: Symbol, args: List[Tree]): Tree

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

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

    A creator for method calls, e.

    A creator for method calls, e.g. fn[T1, T2, ...](v1, v2, ...) There are a number of variations.

    receiver

    symbol of the method receiver

    methodName

    name of the method to call

    targs

    type arguments (if Nil, no TypeApply node will be generated)

    args

    value arguments

    returns

    the newly created trees.

    Definition Classes
    TreeGen → AbsTreeGen
  58. def mkModuleAccessDcl(accessor: Symbol): DefDef

    Definition Classes
    TreeGen
  59. def mkModuleAccessDef(accessor: Symbol, msym: Symbol): DefDef

    Definition Classes
    TreeGen
  60. def mkModuleVarDef(accessor: Symbol): ValDef

    Definition Classes
    TreeGen
  61. def mkNewCons(head: Tree, tail: Tree): Tree

    Builds a list with given head and tail.

    Builds a list with given head and tail.

    Definition Classes
    TreeGen
  62. def mkNil: Tree

    Builds a list with given head and tail.

    Builds a list with given head and tail.

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

    Definition Classes
    TreeGen → AbsTreeGen
  64. def mkOr(tree1: Tree, tree2: Tree): Tree

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

    Definition Classes
    TreeGen
  66. def mkRuntimeCall(meth: Name, args: List[Tree]): Tree

    Definition Classes
    TreeGen
  67. def mkSoftRef(expr: Tree): Tree

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

    Make a synchronized block on 'monitor'.

    Make a synchronized block on 'monitor'.

    Definition Classes
    TreeGen
  69. def mkSynthSwitchSelector(expr: Tree): Tree

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

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

    Builds a tuple

    Builds a tuple

    Definition Classes
    TreeGen
  72. def mkTypeApply(target: Tree, method: Symbol, targs: List[Type]): Tree

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

    Builds a type application node if args.

    Builds a type application node if args.nonEmpty, returns fun otherwise.

    Definition Classes
    TreeGen
  74. def mkUnattributedRef(sym: Symbol): Tree

    Builds an untyped reference to given symbol.

    Builds an untyped reference to given symbol.

    Definition Classes
    TreeGen
  75. def mkUnchecked(expr: Tree): Tree

    Definition Classes
    TreeGen
  76. def mkUncheckedMatch(tree: Tree): Tree

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

    Builds a fully attributed wildcard import node.

    Builds a fully attributed wildcard import node.

    Definition Classes
    TreeGen
  78. def mkWrapArray(tree: Tree, elemtp: Type): 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.

    Definition Classes
    TreeGen
  79. def mkZero(tp: Type): Tree

    Builds a tree representing an undefined local, as in var x: T = _ which is appropriate to the given Type.

    Builds a tree representing an undefined local, as in var x: T = _ which is appropriate to the given Type.

    Definition Classes
    TreeGen
  80. def mkZeroContravariantAfterTyper(tp: Type): Tree

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

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

    Definition Classes
    TreeGen
  83. final def notify(): Unit

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

    Definition Classes
    AnyRef
  85. def paramToArg(vparam: ValDef): Tree with Serializable

    Definition Classes
    TreeGen
  86. def paramToArg(vparam: Symbol): Tree with Serializable

    Definition Classes
    TreeGen
  87. def productConstr: Select

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

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

    Definition Classes
    TreeGen
  90. def scalaAnyRefConstr: Select

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

    Definition Classes
    TreeGen
  92. def scalaFunctionConstr(argtpes: List[Tree], restpe: Tree, abstractFun: Boolean = false): Tree

    Definition Classes
    TreeGen
  93. def scalaUnitConstr: Select

    Definition Classes
    TreeGen
  94. def serializableConstr: Select

    Definition Classes
    TreeGen
  95. def stabilize(tree: Tree): Tree

    Replaces tree type with a stable type if possible

    Replaces tree type with a stable type if possible

    Definition Classes
    TreeGen
  96. def stableTypeFor(tree: Tree): Option[Type]

    Computes stable type for a tree if possible

    Computes stable type for a tree if possible

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

    Definition Classes
    AnyRef
  98. def toString(): String

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

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

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

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

    Definition Classes
    TreeGen

Inherited from TreeGen

Inherited from TreeDSL

Inherited from TreeGen

Inherited from AbsTreeGen

Inherited from AnyRef

Inherited from Any