scala.tools.nsc.Global

# gen

#### object gen extends ast.TreeGen

Tree generation, usually based on existing symbols.

Definition Classes
  Global → SymbolTable

Linear Supertypes
ast.TreeGen, TreeDSL, reflect.internal.TreeGen, AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. gen
2. TreeGen
3. TreeDSL
4. TreeGen
5. AnyRef
6. Any

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

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

   Definition Classes
     TreeGen

### Value Members

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

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### object CODE

   Definition Classes
     TreeDSL

5. #### object Filter

   Definition Classes
     TreeGen

6. #### object Yield

   Definition Classes
     TreeGen

7. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

8. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

9. #### def convertToSelectFromType(qual: Global.Tree, origName: Global.Name): Global.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: Global.Tree): Option[Global.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: 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

    Used in situations where you need to access value of an expression several times

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

15. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

16. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

17. #### val global: Global.this.type

    Definition Classes
      gen → TreeGen → TreeDSL → TreeGen

18. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

19. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

20. #### def maybeMkAsInstanceOf(tree: Global.Tree, pt: Global.Type, tpe: Global.Type, beforeRefChecks: Boolean): Global.Tree

    Definition Classes
      TreeGen

21. #### def mkAnd(tree1: Global.Tree, tree2: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

22. #### 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.

    Definition Classes
      TreeGen

23. #### def mkAppliedTypeForCase(clazz: Global.Symbol): Global.Tree

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

25. #### def mkApplyIfNeeded(qual: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

26. #### def mkAsInstanceOf(value: Global.Tree, tpe: Global.Type, any: Boolean, wrapInApply: Boolean): Global.Tree

    Definition Classes
      TreeGen

27. #### def mkAssign(lhs: Global.Tree, rhs: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

28. #### def mkAssignAndReturn(lhs: Global.Symbol, rhs: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

29. #### def mkAttributedCast(tree: Global.Tree, pt: Global.Type): Global.Tree

30. #### def mkAttributedIdent(sym: Global.Symbol): Global.RefTree

    Definition Classes
      TreeGen

31. #### def mkAttributedQualifier(tpe: Global.Type, termSym: Global.Symbol): Global.Tree

    Definition Classes
      TreeGen

32. #### def mkAttributedQualifier(tpe: Global.Type): Global.Tree

    Definition Classes
      TreeGen

33. #### def mkAttributedRef(sym: Global.Symbol): Global.RefTree

    Definition Classes
      TreeGen

34. #### def mkAttributedRef(pre: Global.Type, sym: Global.Symbol): Global.RefTree

    Definition Classes
      TreeGen

35. #### def mkAttributedSelect(qual: Global.Tree, sym: Global.Symbol): Global.RefTree

    Definition Classes
      TreeGen

36. #### def mkAttributedStableRef(sym: Global.Symbol): Global.Tree

    Definition Classes
      TreeGen

37. #### def mkAttributedStableRef(pre: Global.Type, sym: Global.Symbol): Global.Tree

    Definition Classes
      TreeGen

38. #### def mkAttributedThis(sym: Global.Symbol): Global.This

    Definition Classes
      TreeGen

39. #### def mkAttributedTypeApply(target: Global.Tree, method: Global.Symbol, targs: List[Global.Type]): Global.Tree

    Definition Classes
      TreeGen

40. #### def mkBindForCase(patVar: Global.Symbol, clazz: Global.Symbol, targs: List[Global.Type]): Global.Tree

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

42. #### 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

43. #### 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.

    Generate a cast for tree Tree representing Array with elem type elemtp to expected type pt.

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

46. #### def mkClassDef(mods: Global.Modifiers, name: Global.TypeName, tparams: List[Global.TypeDef], templ: Global.Template): Global.ClassDef

    Definition Classes
      TreeGen

47. #### def mkClassOf(tp: Global.Type): Global.Tree

    Definition Classes
      TreeGen

48. #### def mkConstantZero(tp: Global.Type): Global.Constant

    Definition Classes
      TreeGen

49. #### def mkFor(enums: List[Global.Tree], sugarBody: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
      TreeGen

50. #### def mkForwarder(target: Global.Tree, vparamss: List[List[Global.Symbol]]): Global.Tree

    Make forwarder to method `target`, passing all parameters in `params`

    Make forwarder to method `target`, passing all parameters in `params`

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

52. #### def mkGenerator(pos: Global.Position, pat: Global.Tree, valeq: Boolean, rhs: Global.Tree)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
      TreeGen

53. #### 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`}

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

55. #### 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

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

57. #### def mkMethodCall(receiver: Global.Tree, method: Global.Symbol, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

58. #### def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

59. #### def mkMethodCall(target: Global.Tree, args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

60. #### def mkMethodCall(method: Global.Symbol, args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

62. #### def mkMethodCall(receiver: Global.Symbol, methodName: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

63. #### 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

    Definition Classes
      TreeGen

64. #### def mkNamedArg(lhs: Global.Tree, rhs: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

65. #### def mkNamedArg(name: Global.Name, tree: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

66. #### def mkNew(parents: List[Global.Tree], self: Global.ValDef, stats: List[Global.Tree], npos: Global.Position, cpos: Global.Position): Global.Tree

    Definition Classes
      TreeGen

67. #### def mkNil: Global.Tree

    Definition Classes
      TreeGen

68. #### def mkNullaryCall(method: Global.Symbol, targs: List[Global.Type]): Global.Tree

    Definition Classes
      TreeGen

69. #### def mkOr(tree1: Global.Tree, tree2: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

70. #### def mkPackageObject(defn: Global.ModuleDef, pidPos: Global.Position, pkgPos: Global.Position): Global.PackageDef

    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 mkPatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.ValDef]

    Definition Classes
      TreeGen

73. #### def mkPatDef(pat: Global.Tree, rhs: Global.Tree)(implicit fresh: FreshNameCreator): List[Global.ValDef]

    Definition Classes
      TreeGen

74. #### def mkRuntimeCall(meth: Global.Name, targs: List[Global.Type], args: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

76. #### def mkRuntimeUniverseRef: Global.Tree

    Definition Classes
      TreeGen

77. #### def mkSeqApply(arg: Global.Tree): Global.Apply

    Definition Classes
      TreeGen

78. #### def mkSoftRef(expr: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

79. #### def mkSuperInitCall: Global.Select

    Definition Classes
      TreeGen

80. #### def mkSynchronized(monitor: Global.Tree, body: Global.Tree): Global.Tree

    Make a synchronized block on 'monitor'.

    Make a synchronized block on 'monitor'.

    Definition Classes
      TreeGen

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

    Definition Classes
      TreeGen

82. #### 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.

    Definition Classes
      TreeGen
    See also

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

83. #### def mkSyntheticParam(pname: Global.TermName): Global.ValDef

    Definition Classes
      TreeGen

84. #### def mkSyntheticUnit(): Global.Literal

    Definition Classes
      TreeGen

85. #### def mkSysErrorCall(message: String): Global.Tree

    Definition Classes
      TreeGen

86. #### 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

87. #### def mkTreeOrBlock(stats: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

88. #### def mkTuple(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree

    Definition Classes
      TreeGen

89. #### def mkTupleType(elems: List[Global.Tree], flattenUnary: Boolean): Global.Tree

    Definition Classes
      TreeGen

90. #### def mkTypeApply(fun: Global.Tree, targs: List[Global.Tree]): Global.Tree

    Definition Classes
      TreeGen

91. #### def mkUnattributedRef(fullName: Global.Name): Global.RefTree

    Definition Classes
      TreeGen

92. #### def mkUnattributedRef(sym: Global.Symbol): Global.RefTree

    Definition Classes
      TreeGen

93. #### def mkUnchecked(expr: Global.Tree): Global.Tree

    Definition Classes
      TreeGen

94. #### def mkVisitor(cases: List[Global.CaseDef], checkExhaustive: Boolean, prefix: String)(implicit fresh: FreshNameCreator): Global.Tree

    Definition Classes
      TreeGen

95. #### def mkWildcardImport(pkg: Global.Symbol): Global.Import

    Builds a fully attributed, synthetic wildcard import node.

    Builds a fully attributed, synthetic wildcard import node.

    Definition Classes
      TreeGen

96. #### 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.

    Definition Classes
      TreeGen

97. #### def mkZero(tp: Global.Type): Global.Tree

    Definition Classes
      TreeGen

98. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

99. #### def newModule(accessor: Global.Symbol, tpe: Global.Type): Global.Tree

    Definition Classes
      TreeGen

100. #### final def notify(): Unit

     Definition Classes
       AnyRef

101. #### final def notifyAll(): Unit

     Definition Classes
       AnyRef

102. #### def paramToArg(arg: Global.Ident, isRepeatedParam: Boolean): Global.Tree

     Definition Classes
       TreeGen

103. #### def paramToArg(vparam: Global.ValDef): Global.Tree

     Definition Classes
       TreeGen

104. #### def paramToArg(vparam: Global.Symbol): Global.Tree

     Definition Classes
       TreeGen

105. #### object patvarTransformer extends reflect.internal.SymbolTable.Transformer

     Definition Classes
       TreeGen

106. #### def rootId(name: Global.Name): Global.Select

     Definition Classes
       TreeGen

107. #### def rootScalaDot(name: Global.Name): Global.Select

     Definition Classes
       TreeGen

108. #### def scalaAnnotationDot(name: Global.Name): Global.Select

     Definition Classes
       TreeGen

109. #### def scalaAnyRefConstr: Global.Select

     Definition Classes
       TreeGen

110. #### def scalaDot(name: Global.Name): Global.Select

     Definition Classes
       TreeGen

111. #### def scalaFunctionConstr(argtpes: List[Global.Tree], restpe: Global.Tree, abstractFun: Boolean): Global.Tree

     Definition Classes
       TreeGen

112. #### def stabilize(tree: Global.Tree): Global.Tree

     Definition Classes
       TreeGen

113. #### def stableTypeFor(tree: Global.Tree): Global.Type

     Definition Classes
       TreeGen

114. #### final def synchronized[T0](arg0: ⇒ T0): T0

     Definition Classes
       AnyRef

115. #### def toString(): String

     Definition Classes
       AnyRef → Any

116. #### final def wait(): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

117. #### final def wait(arg0: Long, arg1: Int): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

118. #### final def wait(arg0: Long): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

119. #### def wildcardStar(tree: Global.Tree): Global.Typed

     Definition Classes
       TreeGen

### Inherited from ast.TreeGen

### Inherited from TreeDSL

### Inherited from reflect.internal.TreeGen

### Inherited from AnyRef

### Inherited from Any

### Ungrouped