scala.tools.nsc.Global

gen

object gen extends TreeGen

Generate ASTs

Definition Classes
GlobalRequired
Source
Global.scala
Linear Supertypes
TreeGen, TreeDSL, TreeGen, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. gen
  2. TreeGen
  3. TreeDSL
  4. TreeGen
  5. AnyRef
  6. Any
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. object VirtualCaseDef extends AnyRef

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  10. 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
  11. 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
  12. final def eq(arg0: AnyRef): Boolean

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

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

    Definition Classes
    TreeGen
  16. def finalize(): Unit

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

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

    Definition Classes
    genTreeGenTreeDSLTreeGen
  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 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
  24. 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
  25. def mkAssignAndReturn(lhs: Symbol, rhs: Tree): Tree

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

  27. def mkAttributedIdent(sym: Symbol): Tree

    Definition Classes
    TreeGen
  28. 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
  29. 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
  30. def mkAttributedRef(sym: Symbol): Tree

    Builds a reference to given symbol.

    Builds a reference to given symbol.

    Definition Classes
    TreeGen
  31. 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
  32. def mkAttributedSelect(qual: Tree, sym: Symbol): Tree

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

    Definition Classes
    TreeGen
  34. 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
  35. def mkAttributedThis(sym: Symbol): Tree

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

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

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

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

    Cast tree to type pt

    Cast tree to type pt

    Definition Classes
    TreeGen
  40. 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
  41. def mkCheckInit(tree: Tree): Tree

    Definition Classes
    TreeGen
  42. 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
  43. def mkDoubleCheckedLocking(attrThis: Tree, cond: Tree, syncBody: List[Tree], stats: List[Tree]): Tree

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

  45. 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
  46. 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
  47. 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
  48. def mkMethodCall(target: Tree, targs: List[Type], args: List[Tree]): Tree

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

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

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

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

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

    Definition Classes
    TreeGen
  54. 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
  55. def mkModuleAccessDcl(accessor: Symbol): DefDef

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

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

    Definition Classes
    TreeGen
  58. 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
  59. def mkNil: Tree

    Builds a list with given head and tail.

    Builds a list with given head and tail.

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

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

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

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

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

    Make a synchronized block on 'monitor'.

    Make a synchronized block on 'monitor'.

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

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

    Builds a tuple

    Builds a tuple

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

    Definition Classes
    TreeGen
  68. 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
  69. def mkUnattributedRef(sym: Symbol): Tree

    Builds an untyped reference to given symbol.

    Builds an untyped reference to given symbol.

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

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

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

    Builds a fully attributed wildcard import node.

    Builds a fully attributed wildcard import node.

    Definition Classes
    TreeGen
  73. 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
  74. 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
  75. def mkZeroContravariantAfterTyper(tp: Type): Tree

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

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

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

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

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

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

    Definition Classes
    TreeGen
  82. def productConstr: Select

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

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

    Definition Classes
    TreeGen
  85. def scalaAnyRefConstr: Select

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

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

    Definition Classes
    TreeGen
  88. def scalaScalaObjectConstr: Select

    Definition Classes
    TreeGen
  89. def scalaUnitConstr: Select

    Definition Classes
    TreeGen
  90. def serializableConstr: Select

    Definition Classes
    TreeGen
  91. 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
  92. 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
  93. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  94. def toString(): String

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

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

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

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

    Definition Classes
    TreeGen
  99. def withDefaultCase(matchExpr: Tree, defaultAction: (Tree) ⇒ Tree): Tree

    Definition Classes
    TreeGen

Inherited from TreeGen

Inherited from TreeDSL

Inherited from TreeGen

Inherited from AnyRef

Inherited from Any