scala.reflect.api

# JavaUniverse

#### trait JavaUniverse extends Universe with JavaMirrors

EXPERIMENTAL

A refinement of scala.reflect.api.Universe for runtime reflection using JVM classloaders.

The refinement consists of an upgrade to the mirror API, which gets extended from scala.reflect.api.Mirror to scala.reflect.api.JavaMirrors#JavaMirror.

See the Reflection Guide for details on how to use runtime reflection.

Self Type
  JavaUniverse
Source
  JavaUniverse.scala

Linear Supertypes
JavaMirrors, Universe, Importers, Printers, Mirrors, BuildUtils, StandardNames, StandardDefinitions, TagInterop, TypeTags, Exprs, Positions, Annotations, Constants, Trees, Names, Scopes, FlagSets, Types, Symbols, AnyRef, Any
Known Subclasses
JavaUniverse
Type Hierarchy Learn more about scaladoc diagrams
Content Hierarchy Learn more about scaladoc diagrams
Ordering

1. Grouped
2. Alphabetic
3. By inheritance

Inherited

1. JavaUniverse
2. JavaMirrors
3. Universe
4. Importers
5. Printers
6. Mirrors
7. BuildUtils
8. StandardNames
9. StandardDefinitions
10. TagInterop
11. TypeTags
12. Exprs
13. Positions
14. Annotations
15. Constants
16. Trees
17. Names
18. Scopes
19. FlagSets
20. Types
21. Symbols
22. AnyRef
23. Any

Implicitly

1. by any2stringadd
2. by any2stringfmt
3. by any2ArrowAssoc
4. by any2Ensuring

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

1. #### abstract type Alternative >: Null <: Universe.TermTree with Universe.AlternativeApi

   Alternatives of patterns.

2. #### trait AlternativeApi extends Universe.TermTreeApi

   The API that all alternatives support

3. #### abstract class AlternativeExtractor extends AnyRef

   An extractor class to create and pattern match with syntax `Alternative(trees)`.

4. #### abstract type Annotated >: Null <: Universe.Tree with Universe.AnnotatedApi

   A tree that has an annotation attached to it.

5. #### trait AnnotatedApi extends Universe.TreeApi

   The API that all annotateds support

6. #### abstract class AnnotatedExtractor extends AnyRef

   An extractor class to create and pattern match with syntax `Annotated(annot, arg)`.

7. #### abstract type AnnotatedType >: Null <: Universe.Type with Universe.AnnotatedTypeApi

   The `AnnotatedType` type signature is used for annotated types of the for `<type> @<annotation>`.

8. #### trait AnnotatedTypeApi extends Universe.TypeApi

   The API that all annotated types support.

9. #### abstract class AnnotatedTypeExtractor extends AnyRef

   An extractor class to create and pattern match with syntax `AnnotatedType(annotations, underlying, selfsym)`.

10. #### abstract type Annotation >: Null <: Universe.AnnotationApi

    Information about an annotation.

11. #### trait AnnotationApi extends AnyRef

    The API of `Annotation` instances.

12. #### abstract class AnnotationExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Annotation(tpe, scalaArgs, javaArgs)`.

13. #### abstract type AppliedTypeTree >: Null <: Universe.TypTree with Universe.AppliedTypeTreeApi

    Applied type <tpt> [ <args> ], eliminated by RefCheck

14. #### trait AppliedTypeTreeApi extends Universe.TypTreeApi

    The API that all applied type trees support

15. #### abstract class AppliedTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `AppliedTypeTree(tpt, args)`.

16. #### abstract type Apply >: Null <: Universe.GenericApply with Universe.ApplyApi

    Value application

17. #### trait ApplyApi extends Universe.GenericApplyApi

    The API that all applies support

18. #### abstract class ApplyExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Apply(fun, args)`.

19. #### abstract type ArrayArgument >: Null <: Universe.JavaArgument with Universe.ArrayArgumentApi

    An array argument to a Java annotation as in `@Target(value={TYPE,FIELD,METHOD,PARAMETER})`

20. #### trait ArrayArgumentApi extends AnyRef

    API of `ArrayArgument` instances.

21. #### abstract class ArrayArgumentExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ArrayArgument(args)` where `args` is the argument array.

22. #### abstract type Assign >: Null <: Universe.TermTree with Universe.AssignApi

    Assignment

23. #### trait AssignApi extends Universe.TermTreeApi

    The API that all assigns support

24. #### abstract class AssignExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Assign(lhs, rhs)`.

25. #### abstract type AssignOrNamedArg >: Null <: Universe.TermTree with Universe.AssignOrNamedArgApi

    Either an assignment or a named argument.

26. #### trait AssignOrNamedArgApi extends Universe.TermTreeApi

    The API that all assigns support

27. #### abstract class AssignOrNamedArgExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `AssignOrNamedArg(lhs, rhs)`.

28. #### abstract type Bind >: Null <: Universe.DefTree with Universe.BindApi

    Bind a variable to a rhs pattern.

29. #### trait BindApi extends Universe.DefTreeApi

    The API that all binds support

30. #### abstract class BindExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Bind(name, body)`.

31. #### abstract type Block >: Null <: Universe.TermTree with Universe.BlockApi

    Block of expressions (semicolon separated expressions)

32. #### trait BlockApi extends Universe.TermTreeApi

    The API that all blocks support

33. #### abstract class BlockExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Block(stats, expr)`.

34. #### case class BooleanFlag (value: Option[Boolean]) extends Product with Serializable

35. #### abstract type BoundedWildcardType >: Null <: Universe.Type with Universe.BoundedWildcardTypeApi

    BoundedWildcardTypes, used only during type inference, are created in two places:

36. #### trait BoundedWildcardTypeApi extends Universe.TypeApi

    The API that all this types support.

37. #### abstract class BoundedWildcardTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `BoundedWildcardTypeExtractor(bounds)` with `bounds` denoting the type bounds.

38. #### abstract class BuildApi extends AnyRef

    Definition Classes
      BuildUtils

39. #### abstract type CaseDef >: Null <: Universe.Tree with Universe.CaseDefApi

    Case clause in a pattern match.

40. #### trait CaseDefApi extends Universe.TreeApi

    The API that all case defs support

41. #### abstract class CaseDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `CaseDef(pat, guard, body)`.

42. #### abstract type ClassDef >: Null <: Universe.ImplDef with Universe.ClassDefApi

    A class definition.

43. #### trait ClassDefApi extends Universe.ImplDefApi

    The API that all class defs support

44. #### abstract class ClassDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ClassDef(mods, name, tparams, impl)`.

45. #### abstract type ClassInfoType >: Null <: Universe.CompoundType with Universe.ClassInfoTypeApi

    The `ClassInfo` type signature is used to define parents and declarations of classes, traits, and objects.

46. #### trait ClassInfoTypeApi extends Universe.TypeApi

    The API that all class info types support.

47. #### abstract class ClassInfoTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ClassInfo(parents, decls, clazz)` Here, `parents` is the list of parent types of the class, `decls` is the scope containing all declarations in the class, and `clazz` is the symbol of the class itself.

48. #### trait ClassMirror extends Universe.TemplateMirror

    A mirror that reflects the instance parts of a runtime class.

49. #### abstract type ClassSymbol >: Null <: Universe.TypeSymbol with Universe.ClassSymbolApi

    The type of class symbols representing class and trait definitions.

50. #### trait ClassSymbolApi extends Universe.TypeSymbolApi

    The API of class symbols.

51. #### abstract type CompoundType >: Null <: Universe.Type

    A subtype of Type representing refined types as well as `ClassInfo` signatures.

52. #### abstract type CompoundTypeTree >: Null <: Universe.TypTree with Universe.CompoundTypeTreeApi

    Intersection type <parent1> with .

53. #### trait CompoundTypeTreeApi extends Universe.TypTreeApi

    The API that all compound type trees support

54. #### abstract class CompoundTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `CompoundTypeTree(templ)`.

55. #### abstract type Constant >: Null <: Universe.ConstantApi

    This "virtual" case class represents the reflection interface for literal expressions which can not be further broken down or evaluated, such as "true", "0", "classOf[List]".

56. #### abstract class ConstantApi extends AnyRef

    The API of Constant instances.

57. #### abstract class ConstantExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Constant(value)` where `value` is the Scala value of the constant.

58. #### abstract type ConstantType >: Null <: Universe.SingletonType with Universe.ConstantTypeApi

    The `ConstantType` type is not directly written in user programs, but arises as the type of a constant.

59. #### trait ConstantTypeApi extends Universe.TypeApi

    The API that all constant types support.

60. #### abstract class ConstantTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ConstantType(constant)` Here, `constant` is the constant value represented by the type.

61. #### abstract type DefDef >: Null <: Universe.ValOrDefDef with Universe.DefDefApi

    A method or macro definition.

62. #### trait DefDefApi extends Universe.ValOrDefDefApi

    The API that all def defs support

63. #### abstract class DefDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `DefDef(mods, name, tparams, vparamss, tpt, rhs)`.

64. #### abstract type DefTree >: Null <: Universe.SymTree with Universe.NameTree with Universe.DefTreeApi

    A tree which defines a symbol-carrying entity.

65. #### trait DefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    The API that all def trees support

66. #### trait DefinitionsApi extends Universe.StandardTypes

    Defines standard symbols (and types via its base trait).

67. #### abstract type ExistentialType >: Null <: Universe.Type with Universe.ExistentialTypeApi

    The `ExistentialType` type signature is used for existential types and wildcard types.

68. #### trait ExistentialTypeApi extends Universe.TypeApi

    The API that all existential types support.

69. #### abstract class ExistentialTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ExistentialType(quantified, underlying)`.

70. #### abstract type ExistentialTypeTree >: Null <: Universe.TypTree with Universe.ExistentialTypeTreeApi

    Existential type tree node

71. #### trait ExistentialTypeTreeApi extends Universe.TypTreeApi

    The API that all existential type trees support

72. #### abstract class ExistentialTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `ExistentialTypeTree(tpt, whereClauses)`.

73. #### trait Expr [+T] extends Equals with Serializable

    Expr wraps an abstract syntax tree and tags it with its type.

74. #### trait FieldMirror extends AnyRef

    A mirror that reflects a field.

75. #### trait FlagOps extends Any

    The API of `FlagSet` instances.

76. #### abstract type FlagSet

    An abstract type representing sets of flags (like private, final, etc.

77. #### trait FlagValues extends AnyRef

    All possible values that can constitute flag sets.

78. #### abstract type FreeTermSymbol >: Null <: Universe.TermSymbol with Universe.FreeTermSymbolApi

    The type of free terms introduced by reification.

79. #### trait FreeTermSymbolApi extends Universe.TermSymbolApi

    The API of free term symbols.

80. #### abstract type FreeTypeSymbol >: Null <: Universe.TypeSymbol with Universe.FreeTypeSymbolApi

    The type of free types introduced by reification.

81. #### trait FreeTypeSymbolApi extends Universe.TypeSymbolApi

    The API of free type symbols.

82. #### abstract type Function >: Null <: Universe.TermTree with Universe.SymTree with Universe.FunctionApi

    Anonymous function, eliminated by compiler phase lambdalift

83. #### trait FunctionApi extends Universe.TermTreeApi with Universe.SymTreeApi

    The API that all functions support

84. #### abstract class FunctionExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Function(vparams, body)`.

85. #### abstract type GenericApply >: Null <: Universe.TermTree with Universe.GenericApplyApi

    Common base class for Apply and TypeApply.

86. #### trait GenericApplyApi extends Universe.TermTreeApi

    The API that all applies support

87. #### abstract type Ident >: Null <: Universe.RefTree with Universe.IdentApi

    A reference to identifier `name`.

88. #### trait IdentApi extends Universe.RefTreeApi

    The API that all idents support

89. #### abstract class IdentExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Ident(qual, name)`.

90. #### abstract type If >: Null <: Universe.TermTree with Universe.IfApi

    Conditional expression

91. #### trait IfApi extends Universe.TermTreeApi

    The API that all ifs support

92. #### abstract class IfExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `If(cond, thenp, elsep)`.

93. #### abstract type ImplDef >: Null <: Universe.MemberDef with Universe.ImplDefApi

    A common base class for class and object definitions.

94. #### trait ImplDefApi extends Universe.MemberDefApi

    The API that all impl defs support

95. #### abstract type Import >: Null <: Universe.SymTree with Universe.ImportApi

    Import clause

96. #### trait ImportApi extends Universe.SymTreeApi

    The API that all imports support

97. #### abstract class ImportExtractor extends AnyRef

    An extractor class to create and pattern match with syntax `Import(expr, selectors)`.

98. #### abstract type ImportSelector >: Null <: Universe.ImportSelectorApi

    Import selector

99. #### trait ImportSelectorApi extends AnyRef

    The API that all import selectors support

100. #### abstract class ImportSelectorExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `ImportSelector(name:, namePos, rename, renamePos)`.

101. #### trait Importer extends AnyRef

     The API of importers.

102. #### trait InstanceMirror extends AnyRef

     A mirror that reflects a runtime value.

103. #### abstract type JavaArgument >: Null <: AnyRef

     A Java annotation argument

104. #### trait JavaMirror extends api.Mirror[JavaMirrors.this.type] with JavaUniverse.RuntimeMirror

     A refinement of scala.reflect.api.Mirror for runtime reflection using JVM classloaders.

105. #### abstract type LabelDef >: Null <: Universe.DefTree with Universe.TermTree with Universe.LabelDefApi

     A labelled expression.

106. #### trait LabelDefApi extends Universe.DefTreeApi with Universe.TermTreeApi

     The API that all label defs support

107. #### abstract class LabelDefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `LabelDef(name, params, rhs)`.

108. #### abstract type Literal >: Null <: Universe.TermTree with Universe.LiteralApi

     Literal

109. #### trait LiteralApi extends Universe.TermTreeApi

     The API that all literals support

110. #### abstract type LiteralArgument >: Null <: Universe.JavaArgument with Universe.LiteralArgumentApi

     A literal argument to a Java annotation as `"Use X instead"` in `@Deprecated("Use X instead")`

111. #### trait LiteralArgumentApi extends AnyRef

     The API of `LiteralArgument` instances.

112. #### abstract class LiteralArgumentExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `LiteralArgument(value)` where `value` is the constant argument.

113. #### abstract class LiteralExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Literal(value)`.

114. #### abstract type Match >: Null <: Universe.TermTree with Universe.MatchApi

     - Pattern matching expression (before compiler phase explicitouter before 2.

115. #### trait MatchApi extends Universe.TermTreeApi

     The API that all matches support

116. #### abstract class MatchExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Match(selector, cases)`.

117. #### abstract type MemberDef >: Null <: Universe.DefTree with Universe.MemberDefApi

     Common base class for all member definitions: types, classes, objects, packages, vals and vars, defs.

118. #### trait MemberDefApi extends Universe.DefTreeApi

     The API that all member defs support

119. #### abstract type MemberScope >: Null <: Universe.Scope with Universe.MemberScopeApi

     The type of member scopes, as in class definitions, for example.

120. #### trait MemberScopeApi extends Universe.ScopeApi

     The API that all member scopes support

121. #### trait MethodMirror extends AnyRef

     A mirror that reflects a method.

122. #### abstract type MethodSymbol >: Null <: Universe.TermSymbol with Universe.MethodSymbolApi

     The type of method symbols representing def declarations.

123. #### trait MethodSymbolApi extends Universe.TermSymbolApi

     The API of method symbols.

124. #### abstract type MethodType >: Null <: Universe.Type with Universe.MethodTypeApi

     The `MethodType` type signature is used to indicate parameters and result type of a method

125. #### trait MethodTypeApi extends Universe.TypeApi

     The API that all method types support.

126. #### abstract class MethodTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `MethodType(params, respte)` Here, `params` is a potentially empty list of parameter symbols of the method, and `restpe` is the result type of the method.

127. #### abstract type Mirror >: Null <: JavaMirror

     In runtime reflection universes, mirrors are `JavaMirrors`.

     In runtime reflection universes, mirrors are `JavaMirrors`.

     Definition Classes
       JavaMirrors

128. #### abstract type Modifiers >: Null <: ModifiersApi

     The type of tree modifiers.

     The type of tree modifiers.

     Definition Classes
       Trees

129. #### abstract class ModifiersApi extends AnyRef

     The API that all Modifiers support

130. #### abstract class ModifiersCreator extends AnyRef

     An extractor class to create and pattern match with syntax `Modifiers(flags, privateWithin, annotations)`.

131. #### abstract type ModuleDef >: Null <: Universe.ImplDef with Universe.ModuleDefApi

     An object definition, e.

132. #### trait ModuleDefApi extends Universe.ImplDefApi

     The API that all module defs support

133. #### abstract class ModuleDefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `ModuleDef(mods, name, impl)`.

134. #### trait ModuleMirror extends Universe.TemplateMirror

     A mirror that reflects a Scala object definition or the static parts of a runtime class.

135. #### abstract type ModuleSymbol >: Null <: Universe.TermSymbol with Universe.ModuleSymbolApi

     The type of module symbols representing object declarations.

136. #### trait ModuleSymbolApi extends Universe.TermSymbolApi

     The API of module symbols.

137. #### abstract type Name >: Null <: NameApi

     The abstract type of names.

     The abstract type of names.

     Definition Classes
       Names

138. #### abstract class NameApi extends AnyRef

     The API of Name instances.

139. #### abstract type NameTree >: Null <: Universe.Tree with Universe.NameTreeApi

     A tree with a name - effectively, a DefTree or RefTree.

140. #### trait NameTreeApi extends Universe.TreeApi

     The API that all name trees support

141. #### trait NamesApi extends AnyRef

     Defines standard names, common for term and type names: These can be accessed via the nme and tpnme members.

142. #### abstract type NestedArgument >: Null <: Universe.JavaArgument with Universe.NestedArgumentApi

     A nested annotation argument to a Java annotation as `@Nested` in `@Outer(@Nested)`.

143. #### trait NestedArgumentApi extends AnyRef

     API of `NestedArgument` instances.

144. #### abstract class NestedArgumentExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `NestedArgument(annotation)` where `annotation` is the nested annotation.

145. #### abstract type New >: Null <: Universe.TermTree with Universe.NewApi

     Object instantiation

146. #### trait NewApi extends Universe.TermTreeApi

     The API that all news support

147. #### abstract class NewExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `New(tpt)`.

148. #### abstract type NullaryMethodType >: Null <: Universe.Type with Universe.NullaryMethodTypeApi

     The `NullaryMethodType` type signature is used for parameterless methods with declarations of the form `def foo: T`

149. #### trait NullaryMethodTypeApi extends Universe.TypeApi

     The API that all nullary method types support.

150. #### abstract class NullaryMethodTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `NullaryMethodType(resultType)`.

151. #### abstract type PackageDef >: Null <: Universe.MemberDef with Universe.PackageDefApi

     A packaging, such as `package pid { stats }`

152. #### trait PackageDefApi extends Universe.MemberDefApi

     The API that all package defs support

153. #### abstract class PackageDefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `PackageDef(pid, stats)`.

154. #### abstract type PolyType >: Null <: Universe.Type with Universe.PolyTypeApi

     The `PolyType` type signature is used for polymorphic methods that have at least one type parameter.

155. #### trait PolyTypeApi extends Universe.TypeApi

     The API that all polymorphic types support.

156. #### abstract class PolyTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `PolyType(typeParams, resultType)`.

157. #### abstract type Position >: Null <: api.Position { type Pos = JavaUniverse.this.Position }

     Defines a universe-specific notion of positions.

     Defines a universe-specific notion of positions. The main documentation entry about positions is located at scala.reflect.api.Position.

     Definition Classes
       Positions

158. #### abstract type RefTree >: Null <: Universe.SymTree with Universe.NameTree with Universe.RefTreeApi

     A tree which references a symbol-carrying entity.

159. #### trait RefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

     The API that all ref trees support

160. #### abstract type ReferenceToBoxed >: Null <: Universe.TermTree with Universe.ReferenceToBoxedApi

     Marks underlying reference to id as boxed.

161. #### trait ReferenceToBoxedApi extends Universe.TermTreeApi

     The API that all references support

162. #### abstract class ReferenceToBoxedExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `ReferenceToBoxed(ident)`.

163. #### abstract type RefinedType >: Null <: Universe.CompoundType with Universe.RefinedTypeApi

     The `RefinedType` type defines types of any of the forms on the left, with their RefinedType representations to the right.

164. #### trait RefinedTypeApi extends Universe.TypeApi

     The API that all refined types support.

165. #### abstract class RefinedTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `RefinedType(parents, decls)` Here, `parents` is the list of parent types of the class, and `decls` is the scope containing all declarations in the class.

166. #### trait ReflectiveMirror extends api.Mirror[Mirrors.this.type]

     A mirror that reflects instances and static classes.

167. #### abstract type Return >: Null <: Universe.TermTree with Universe.SymTree with Universe.ReturnApi

     Return expression

168. #### trait ReturnApi extends Universe.TermTreeApi

     The API that all returns support

169. #### abstract class ReturnExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Return(expr)`.

170. #### type RuntimeClass = Class[_]

     In runtime reflection universes, runtime representation of a class is `java.lang.Class`.

     In runtime reflection universes, runtime representation of a class is `java.lang.Class`.

     Definition Classes
       JavaMirrors

171. #### trait RuntimeMirror extends api.Mirror[Mirrors.this.type] with Universe.ReflectiveMirror

     The API of a mirror for a reflective universe.

172. #### abstract type Scope >: Null <: Universe.ScopeApi

     The base type of all scopes.

173. #### trait ScopeApi extends Iterable[Universe.Symbol]

     The API that all scopes support

174. #### abstract type Select >: Null <: Universe.RefTree with Universe.SelectApi

     A member selection <qualifier> .

175. #### trait SelectApi extends Universe.RefTreeApi

     The API that all selects support

176. #### abstract class SelectExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Select(qual, name)`.

177. #### abstract type SelectFromTypeTree >: Null <: Universe.TypTree with Universe.RefTree with Universe.SelectFromTypeTreeApi

     Type selection <qualifier> # <name>, eliminated by RefCheck

178. #### trait SelectFromTypeTreeApi extends Universe.TypTreeApi with Universe.RefTreeApi

     The API that all selects from type trees support

179. #### abstract class SelectFromTypeTreeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `SelectFromTypeTree(qualifier, name)`.

180. #### abstract type SingleType >: Null <: Universe.SingletonType with Universe.SingleTypeApi

     The `SingleType` type describes types of any of the forms on the left, with their TypeRef representations to the right.

181. #### trait SingleTypeApi extends Universe.TypeApi

     The API that all single types support.

182. #### abstract class SingleTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `SingleType(pre, sym)` Here, `pre` is the prefix of the single-type, and `sym` is the stable value symbol referred to by the single-type.

183. #### abstract type SingletonType >: Null <: Universe.Type

     The type of Scala singleton types, i.

184. #### abstract type SingletonTypeTree >: Null <: Universe.TypTree with Universe.SingletonTypeTreeApi

     Singleton type, eliminated by RefCheck

185. #### trait SingletonTypeTreeApi extends Universe.TypTreeApi

     The API that all singleton type trees support

186. #### abstract class SingletonTypeTreeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `SingletonTypeTree(ref)`.

187. #### trait StandardTypes extends AnyRef

     Defines standard types.

188. #### abstract type Star >: Null <: Universe.TermTree with Universe.StarApi

     Repetition of pattern.

189. #### trait StarApi extends Universe.TermTreeApi

     The API that all stars support

190. #### abstract class StarExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Star(elem)`.

191. #### abstract type Super >: Null <: Universe.TermTree with Universe.SuperApi

     Super reference, where `qual` is the corresponding `this` reference.

192. #### trait SuperApi extends Universe.TermTreeApi

     The API that all supers support

193. #### abstract class SuperExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Super(qual, mix)`.

194. #### abstract type SuperType >: Null <: Universe.SingletonType with Universe.SuperTypeApi

     The `SuperType` type is not directly written, but arises when `C.super` is used as a prefix in a `TypeRef` or `SingleType`.

195. #### trait SuperTypeApi extends Universe.TypeApi

     The API that all super types support.

196. #### abstract class SuperTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `SingleType(thistpe, supertpe)`

197. #### abstract type SymTree >: Null <: Universe.Tree with Universe.SymTreeApi

     A tree with a mutable symbol field, initialized to NoSymbol.

198. #### trait SymTreeApi extends Universe.TreeApi

     The API that all sym trees support

199. #### abstract type Symbol >: Null <: Universe.SymbolApi

     The type of symbols representing declarations.

200. #### trait SymbolApi extends AnyRef

     The API of symbols.

201. #### abstract type Template >: Null <: Universe.SymTree with Universe.TemplateApi

     Instantiation template of a class or trait

202. #### trait TemplateApi extends Universe.SymTreeApi

     The API that all templates support

203. #### abstract class TemplateExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Template(parents, self, body)`.

204. #### trait TemplateMirror extends AnyRef

     A mirror that reflects the instance or static parts of a runtime class.

205. #### abstract type TermName >: Null <: Name

     The abstract type of names representing types.

     The abstract type of names representing types.

     Definition Classes
       Names

206. #### trait TermNamesApi extends Universe.NamesApi

     Defines standard term names that can be accessed via the nme member.

207. #### abstract type TermSymbol >: Null <: Universe.Symbol with Universe.TermSymbolApi

     The type of term symbols representing val, var, def, and object declarations as well as packages and value parameters.

208. #### trait TermSymbolApi extends Universe.SymbolApi

     The API of term symbols.

209. #### abstract type TermTree >: Null <: Universe.Tree with Universe.TermTreeApi

     A tree for a term.

210. #### trait TermTreeApi extends Universe.TreeApi

     The API that all term trees support

211. #### abstract type This >: Null <: Universe.TermTree with Universe.SymTree with Universe.ThisApi

     Self reference

212. #### trait ThisApi extends Universe.TermTreeApi with Universe.SymTreeApi

     The API that all thises support

213. #### abstract class ThisExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `This(qual)`.

214. #### abstract type ThisType >: Null <: Universe.SingletonType with Universe.ThisTypeApi

     A singleton type that describes types of the form on the left with the corresponding `ThisType` representation to the right:

215. #### trait ThisTypeApi extends Universe.TypeApi

     The API that all this types support.

216. #### abstract class ThisTypeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `ThisType(sym)` where `sym` is the class prefix of the this type.

217. #### abstract type Throw >: Null <: Universe.TermTree with Universe.ThrowApi

     Throw expression

218. #### trait ThrowApi extends Universe.TermTreeApi

     The API that all tries support

219. #### abstract class ThrowExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Throw(expr)`.

220. #### abstract class Transformer extends AnyRef

     A class that implement a default tree transformation strategy: breadth-first component-wise cloning.

221. #### class Traverser extends AnyRef

     A class that implement a default tree traversal strategy: breadth-first component-wise.

222. #### abstract type Tree >: Null <: Universe.TreeApi

     The type of Scala abstract syntax trees.

223. #### trait TreeApi extends Product

     The API that all trees support.

224. #### abstract type TreeCopier <: Universe.TreeCopierOps

     The type of standard (lazy) tree copiers.

225. #### abstract class TreeCopierOps extends AnyRef

     The API of a tree copier.

226. #### trait TreePrinter extends AnyRef

227. #### abstract type Try >: Null <: Universe.TermTree with Universe.TryApi

     Try catch node

228. #### trait TryApi extends Universe.TermTreeApi

     The API that all tries support

229. #### abstract class TryExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Try(block, catches, finalizer)`.

230. #### abstract type TypTree >: Null <: Universe.Tree with Universe.TypTreeApi

     A tree for a type.

231. #### trait TypTreeApi extends Universe.TreeApi

     The API that all typ trees support

232. #### abstract type Type >: Null <: Universe.TypeApi

     The type of Scala types, and also Scala type signatures.

233. #### abstract class TypeApi extends AnyRef

     The API of types.

234. #### abstract type TypeApply >: Null <: Universe.GenericApply with Universe.TypeApplyApi

     Explicit type application.

235. #### trait TypeApplyApi extends Universe.GenericApplyApi

     The API that all type applies support

236. #### abstract class TypeApplyExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeApply(fun, args)`.

237. #### abstract type TypeBounds >: Null <: Universe.Type with Universe.TypeBoundsApi

     The `TypeBounds` type signature is used to indicate lower and upper type bounds of type parameters and abstract types.

238. #### trait TypeBoundsApi extends Universe.TypeApi

     The API that all type bounds support.

239. #### abstract class TypeBoundsExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeBound(lower, upper)` Here, `lower` is the lower bound of the `TypeBounds` pair, and `upper` is the upper bound.

240. #### abstract type TypeBoundsTree >: Null <: Universe.TypTree with Universe.TypeBoundsTreeApi

     Type bounds tree node

241. #### trait TypeBoundsTreeApi extends Universe.TypTreeApi

     The API that all type bound trees support

242. #### abstract class TypeBoundsTreeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeBoundsTree(lo, hi)`.

243. #### abstract type TypeDef >: Null <: Universe.MemberDef with Universe.TypeDefApi

     An abstract type, a type parameter, or a type alias.

244. #### trait TypeDefApi extends Universe.MemberDefApi

     The API that all type defs support

245. #### abstract class TypeDefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeDef(mods, name, tparams, rhs)`.

246. #### abstract type TypeName >: Null <: Name

     The abstract type of names representing terms.

     The abstract type of names representing terms.

     Definition Classes
       Names

247. #### trait TypeNamesApi extends Universe.NamesApi

     Defines standard type names that can be accessed via the tpnme member.

248. #### abstract type TypeRef >: Null <: Universe.Type with Universe.TypeRefApi

     The `TypeRef` type describes types of any of the forms on the left, with their TypeRef representations to the right.

249. #### trait TypeRefApi extends Universe.TypeApi

     The API that all type refs support.

250. #### abstract class TypeRefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeRef(pre, sym, args)` Here, `pre` is the prefix of the type reference, `sym` is the symbol referred to by the type reference, and `args` is a possible empty list of type argumenrts.

251. #### abstract type TypeSymbol >: Null <: Universe.Symbol with Universe.TypeSymbolApi

     The type of type symbols representing type, class, and trait declarations, as well as type parameters.

252. #### trait TypeSymbolApi extends Universe.SymbolApi

     The API of type symbols.

253. #### trait TypeTag [T] extends Universe.WeakTypeTag[T] with Equals with Serializable

     A `TypeTag` is a scala.reflect.api.TypeTags#WeakTypeTag with the additional static guarantee that all type references are concrete, i.

254. #### abstract type TypeTree >: Null <: Universe.TypTree with Universe.TypeTreeApi

     A synthetic tree holding an arbitrary type.

255. #### trait TypeTreeApi extends Universe.TypTreeApi

     The API that all type trees support

256. #### abstract class TypeTreeExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `TypeTree()`.

257. #### abstract type Typed >: Null <: Universe.TermTree with Universe.TypedApi

     Type annotation, eliminated by compiler phase cleanup

258. #### trait TypedApi extends Universe.TermTreeApi

     The API that all typeds support

259. #### abstract class TypedExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `Typed(expr, tpt)`.

260. #### abstract type UnApply >: Null <: Universe.TermTree with Universe.UnApplyApi

     Used to represent `unapply` methods in pattern matching.

261. #### trait UnApplyApi extends Universe.TermTreeApi

     The API that all unapplies support

262. #### abstract class UnApplyExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `UnApply(fun, args)`.

263. #### abstract type ValDef >: Null <: Universe.ValOrDefDef with Universe.ValDefApi

     Broadly speaking, a value definition.

264. #### trait ValDefApi extends Universe.ValOrDefDefApi

     The API that all val defs support

265. #### abstract class ValDefExtractor extends AnyRef

     An extractor class to create and pattern match with syntax `ValDef(mods, name, tpt, rhs)`.

266. #### abstract type ValOrDefDef >: Null <: Universe.MemberDef with Universe.ValOrDefDefApi

     A common base class for ValDefs and DefDefs.

267. #### trait ValOrDefDefApi extends Universe.MemberDefApi

     The API that all val defs and def defs support

268. #### trait WeakTypeTag [T] extends Equals with Serializable

     If an implicit value of type `WeakTypeTag[T]` is required, the compiler will create one, and the reflective representation of `T` can be accessed via the `tpe` field.

### Abstract Value Members

1. #### abstract val Alternative: AlternativeExtractor

   The constructor/extractor for `Alternative` instances.

   The constructor/extractor for `Alternative` instances.

   Definition Classes
     Trees

2. #### implicit abstract val AlternativeTag: ClassTag[Alternative]

   A tag that preserves the identity of the `Alternative` abstract type from erasure.

   A tag that preserves the identity of the `Alternative` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

   Definition Classes
     Trees

3. #### abstract val Annotated: AnnotatedExtractor

   The constructor/extractor for `Annotated` instances.

   The constructor/extractor for `Annotated` instances.

   Definition Classes
     Trees

4. #### implicit abstract val AnnotatedTag: ClassTag[Annotated]

   A tag that preserves the identity of the `Annotated` abstract type from erasure.

   A tag that preserves the identity of the `Annotated` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

   Definition Classes
     Trees

5. #### abstract val AnnotatedType: AnnotatedTypeExtractor

   The constructor/extractor for `AnnotatedType` instances.

   The constructor/extractor for `AnnotatedType` instances.

   Definition Classes
     Types

6. #### implicit abstract val AnnotatedTypeTag: ClassTag[AnnotatedType]

   A tag that preserves the identity of the `AnnotatedType` abstract type from erasure.

   A tag that preserves the identity of the `AnnotatedType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

   Definition Classes
     Types

7. #### abstract val Annotation: AnnotationExtractor

   The constructor/extractor for `Annotation` instances.

   The constructor/extractor for `Annotation` instances.

   Definition Classes
     Annotations

8. #### implicit abstract val AnnotationTag: ClassTag[Annotation]

   A tag that preserves the identity of the `Annotation` abstract type from erasure.

   A tag that preserves the identity of the `Annotation` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

   Definition Classes
     Annotations

9. #### abstract val AppliedTypeTree: AppliedTypeTreeExtractor

   The constructor/extractor for `AppliedTypeTree` instances.

   The constructor/extractor for `AppliedTypeTree` instances.

   Definition Classes
     Trees

10. #### implicit abstract val AppliedTypeTreeTag: ClassTag[AppliedTypeTree]

    A tag that preserves the identity of the `AppliedTypeTree` abstract type from erasure.

    A tag that preserves the identity of the `AppliedTypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

11. #### abstract val Apply: ApplyExtractor

    The constructor/extractor for `Apply` instances.

    The constructor/extractor for `Apply` instances.

    Definition Classes
      Trees

12. #### implicit abstract val ApplyTag: ClassTag[Apply]

    A tag that preserves the identity of the `Apply` abstract type from erasure.

    A tag that preserves the identity of the `Apply` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

13. #### abstract val ArrayArgument: ArrayArgumentExtractor

    The constructor/extractor for `ArrayArgument` instances.

    The constructor/extractor for `ArrayArgument` instances.

    Definition Classes
      Annotations

14. #### implicit abstract val ArrayArgumentTag: ClassTag[ArrayArgument]

    A tag that preserves the identity of the `ArrayArgument` abstract type from erasure.

    A tag that preserves the identity of the `ArrayArgument` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Annotations

15. #### abstract val Assign: AssignExtractor

    The constructor/extractor for `Assign` instances.

    The constructor/extractor for `Assign` instances.

    Definition Classes
      Trees

16. #### abstract val AssignOrNamedArg: AssignOrNamedArgExtractor

    The constructor/extractor for `AssignOrNamedArg` instances.

    The constructor/extractor for `AssignOrNamedArg` instances.

    Definition Classes
      Trees

17. #### implicit abstract val AssignOrNamedArgTag: ClassTag[AssignOrNamedArg]

    A tag that preserves the identity of the `AssignOrNamedArg` abstract type from erasure.

    A tag that preserves the identity of the `AssignOrNamedArg` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

18. #### implicit abstract val AssignTag: ClassTag[Assign]

    A tag that preserves the identity of the `Assign` abstract type from erasure.

    A tag that preserves the identity of the `Assign` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

19. #### abstract val Bind: BindExtractor

    The constructor/extractor for `Bind` instances.

    The constructor/extractor for `Bind` instances.

    Definition Classes
      Trees

20. #### implicit abstract val BindTag: ClassTag[Bind]

    A tag that preserves the identity of the `Bind` abstract type from erasure.

    A tag that preserves the identity of the `Bind` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

21. #### abstract val Block: BlockExtractor

    The constructor/extractor for `Block` instances.

    The constructor/extractor for `Block` instances.

    Definition Classes
      Trees

22. #### implicit abstract val BlockTag: ClassTag[Block]

    A tag that preserves the identity of the `Block` abstract type from erasure.

    A tag that preserves the identity of the `Block` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

23. #### abstract val BoundedWildcardType: BoundedWildcardTypeExtractor

    The constructor/extractor for `BoundedWildcardType` instances.

    The constructor/extractor for `BoundedWildcardType` instances.

    Definition Classes
      Types

24. #### implicit abstract val BoundedWildcardTypeTag: ClassTag[BoundedWildcardType]

    A tag that preserves the identity of the `BoundedWildcardType` abstract type from erasure.

    A tag that preserves the identity of the `BoundedWildcardType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

25. #### abstract val CaseDef: CaseDefExtractor

    The constructor/extractor for `CaseDef` instances.

    The constructor/extractor for `CaseDef` instances.

    Definition Classes
      Trees

26. #### implicit abstract val CaseDefTag: ClassTag[CaseDef]

    A tag that preserves the identity of the `CaseDef` abstract type from erasure.

    A tag that preserves the identity of the `CaseDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

27. #### abstract val ClassDef: ClassDefExtractor

    The constructor/extractor for `ClassDef` instances.

    The constructor/extractor for `ClassDef` instances.

    Definition Classes
      Trees

28. #### implicit abstract val ClassDefTag: ClassTag[ClassDef]

    A tag that preserves the identity of the `ClassDef` abstract type from erasure.

    A tag that preserves the identity of the `ClassDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

29. #### abstract val ClassInfoType: ClassInfoTypeExtractor

    The constructor/extractor for `ClassInfoType` instances.

    The constructor/extractor for `ClassInfoType` instances.

    Definition Classes
      Types

30. #### implicit abstract val ClassInfoTypeTag: ClassTag[ClassInfoType]

    A tag that preserves the identity of the `ClassInfoType` abstract type from erasure.

    A tag that preserves the identity of the `ClassInfoType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

31. #### implicit abstract val ClassSymbolTag: ClassTag[ClassSymbol]

    A tag that preserves the identity of the `ClassSymbol` abstract type from erasure.

    A tag that preserves the identity of the `ClassSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Symbols

32. #### implicit abstract val CompoundTypeTag: ClassTag[CompoundType]

    A tag that preserves the identity of the `CompoundType` abstract type from erasure.

    A tag that preserves the identity of the `CompoundType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

33. #### abstract val CompoundTypeTree: CompoundTypeTreeExtractor

    The constructor/extractor for `CompoundTypeTree` instances.

    The constructor/extractor for `CompoundTypeTree` instances.

    Definition Classes
      Trees

34. #### implicit abstract val CompoundTypeTreeTag: ClassTag[CompoundTypeTree]

    A tag that preserves the identity of the `CompoundTypeTree` abstract type from erasure.

    A tag that preserves the identity of the `CompoundTypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

35. #### abstract val Constant: ConstantExtractor

    The constructor/extractor for `Constant` instances.

    The constructor/extractor for `Constant` instances.

    Definition Classes
      Constants

36. #### implicit abstract val ConstantTag: ClassTag[Constant]

    A tag that preserves the identity of the `Constant` abstract type from erasure.

    A tag that preserves the identity of the `Constant` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Constants

37. #### abstract val ConstantType: ConstantTypeExtractor

    The constructor/extractor for `ConstantType` instances.

    The constructor/extractor for `ConstantType` instances.

    Definition Classes
      Types

38. #### implicit abstract val ConstantTypeTag: ClassTag[ConstantType]

    A tag that preserves the identity of the `ConstantType` abstract type from erasure.

    A tag that preserves the identity of the `ConstantType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

39. #### abstract val DefDef: DefDefExtractor

    The constructor/extractor for `DefDef` instances.

    The constructor/extractor for `DefDef` instances.

    Definition Classes
      Trees

40. #### implicit abstract val DefDefTag: ClassTag[DefDef]

    A tag that preserves the identity of the `DefDef` abstract type from erasure.

    A tag that preserves the identity of the `DefDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

41. #### implicit abstract val DefTreeTag: ClassTag[DefTree]

    A tag that preserves the identity of the `DefTree` abstract type from erasure.

    A tag that preserves the identity of the `DefTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

42. #### abstract val EmptyTree: Tree

    The empty tree

    The empty tree

    Definition Classes
      Trees

43. #### abstract val ExistentialType: ExistentialTypeExtractor

    The constructor/extractor for `ExistentialType` instances.

    The constructor/extractor for `ExistentialType` instances.

    Definition Classes
      Types

44. #### implicit abstract val ExistentialTypeTag: ClassTag[ExistentialType]

    A tag that preserves the identity of the `ExistentialType` abstract type from erasure.

    A tag that preserves the identity of the `ExistentialType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

45. #### abstract val ExistentialTypeTree: ExistentialTypeTreeExtractor

    The constructor/extractor for `ExistentialTypeTree` instances.

    The constructor/extractor for `ExistentialTypeTree` instances.

    Definition Classes
      Trees

46. #### implicit abstract val ExistentialTypeTreeTag: ClassTag[ExistentialTypeTree]

    A tag that preserves the identity of the `ExistentialTypeTree` abstract type from erasure.

    A tag that preserves the identity of the `ExistentialTypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

47. #### abstract val Flag: FlagValues

    A module that contains all possible values that can constitute flag sets.

    A module that contains all possible values that can constitute flag sets.

    Definition Classes
      FlagSets

48. #### implicit abstract val FlagSetTag: ClassTag[FlagSet]

    A tag that preserves the identity of the `FlagSet` abstract type from erasure.

    A tag that preserves the identity of the `FlagSet` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      FlagSets

49. #### implicit abstract val FreeTermSymbolTag: ClassTag[FreeTermSymbol]

    A tag that preserves the identity of the `FreeTermSymbol` abstract type from erasure.

    A tag that preserves the identity of the `FreeTermSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Symbols

50. #### implicit abstract val FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]

    A tag that preserves the identity of the `FreeTypeSymbol` abstract type from erasure.

    A tag that preserves the identity of the `FreeTypeSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Symbols

51. #### abstract val Function: FunctionExtractor

    The constructor/extractor for `Function` instances.

    The constructor/extractor for `Function` instances.

    Definition Classes
      Trees

52. #### implicit abstract val FunctionTag: ClassTag[Function]

    A tag that preserves the identity of the `Function` abstract type from erasure.

    A tag that preserves the identity of the `Function` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

53. #### implicit abstract val GenericApplyTag: ClassTag[GenericApply]

    A tag that preserves the identity of the `GenericApply` abstract type from erasure.

    A tag that preserves the identity of the `GenericApply` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

54. #### abstract def Ident(sym: Symbol): Ident

    A factory method for `Ident` nodes.

    A factory method for `Ident` nodes.

    Definition Classes
      Trees

55. #### abstract val Ident: IdentExtractor

    The constructor/extractor for `Ident` instances.

    The constructor/extractor for `Ident` instances.

    Definition Classes
      Trees

56. #### implicit abstract val IdentTag: ClassTag[Ident]

    A tag that preserves the identity of the `Ident` abstract type from erasure.

    A tag that preserves the identity of the `Ident` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

57. #### abstract val If: IfExtractor

    The constructor/extractor for `If` instances.

    The constructor/extractor for `If` instances.

    Definition Classes
      Trees

58. #### implicit abstract val IfTag: ClassTag[If]

    A tag that preserves the identity of the `If` abstract type from erasure.

    A tag that preserves the identity of the `If` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

59. #### implicit abstract val ImplDefTag: ClassTag[ImplDef]

    A tag that preserves the identity of the `ImplDef` abstract type from erasure.

    A tag that preserves the identity of the `ImplDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

60. #### abstract val Import: ImportExtractor

    The constructor/extractor for `Import` instances.

    The constructor/extractor for `Import` instances.

    Definition Classes
      Trees

61. #### abstract val ImportSelector: ImportSelectorExtractor

    The constructor/extractor for `ImportSelector` instances.

    The constructor/extractor for `ImportSelector` instances.

    Definition Classes
      Trees

62. #### implicit abstract val ImportSelectorTag: ClassTag[ImportSelector]

    A tag that preserves the identity of the `ImportSelector` abstract type from erasure.

    A tag that preserves the identity of the `ImportSelector` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

63. #### implicit abstract val ImportTag: ClassTag[Import]

    A tag that preserves the identity of the `Import` abstract type from erasure.

    A tag that preserves the identity of the `Import` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

64. #### implicit abstract val JavaArgumentTag: ClassTag[JavaArgument]

    A tag that preserves the identity of the `JavaArgument` abstract type from erasure.

    A tag that preserves the identity of the `JavaArgument` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Annotations

65. #### abstract val LabelDef: LabelDefExtractor

    The constructor/extractor for `LabelDef` instances.

    The constructor/extractor for `LabelDef` instances.

    Definition Classes
      Trees

66. #### implicit abstract val LabelDefTag: ClassTag[LabelDef]

    A tag that preserves the identity of the `LabelDef` abstract type from erasure.

    A tag that preserves the identity of the `LabelDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

67. #### abstract val Literal: LiteralExtractor

    The constructor/extractor for `Literal` instances.

    The constructor/extractor for `Literal` instances.

    Definition Classes
      Trees

68. #### abstract val LiteralArgument: LiteralArgumentExtractor

    The constructor/extractor for `LiteralArgument` instances.

    The constructor/extractor for `LiteralArgument` instances.

    Definition Classes
      Annotations

69. #### implicit abstract val LiteralArgumentTag: ClassTag[LiteralArgument]

    A tag that preserves the identity of the `LiteralArgument` abstract type from erasure.

    A tag that preserves the identity of the `LiteralArgument` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Annotations

70. #### implicit abstract val LiteralTag: ClassTag[Literal]

    A tag that preserves the identity of the `Literal` abstract type from erasure.

    A tag that preserves the identity of the `Literal` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

71. #### abstract val Match: MatchExtractor

    The constructor/extractor for `Match` instances.

    The constructor/extractor for `Match` instances.

    Definition Classes
      Trees

72. #### implicit abstract val MatchTag: ClassTag[Match]

    A tag that preserves the identity of the `Match` abstract type from erasure.

    A tag that preserves the identity of the `Match` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

73. #### implicit abstract val MemberDefTag: ClassTag[MemberDef]

    A tag that preserves the identity of the `MemberDef` abstract type from erasure.

    A tag that preserves the identity of the `MemberDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

74. #### implicit abstract val MemberScopeTag: ClassTag[MemberScope]

    A tag that preserves the identity of the `MemberScope` abstract type from erasure.

    A tag that preserves the identity of the `MemberScope` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Scopes

75. #### implicit abstract val MethodSymbolTag: ClassTag[MethodSymbol]

    A tag that preserves the identity of the `MethodSymbol` abstract type from erasure.

    A tag that preserves the identity of the `MethodSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Symbols

76. #### abstract val MethodType: MethodTypeExtractor

    The constructor/extractor for `MethodType` instances.

    The constructor/extractor for `MethodType` instances.

    Definition Classes
      Types

77. #### implicit abstract val MethodTypeTag: ClassTag[MethodType]

    A tag that preserves the identity of the `MethodType` abstract type from erasure.

    A tag that preserves the identity of the `MethodType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

78. #### abstract val Modifiers: ModifiersCreator

    The constructor/extractor for `Modifiers` instances.

    The constructor/extractor for `Modifiers` instances.

    Definition Classes
      Trees

79. #### implicit abstract val ModifiersTag: ClassTag[Modifiers]

    A tag that preserves the identity of the `Modifiers` abstract type from erasure.

    A tag that preserves the identity of the `Modifiers` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

80. #### abstract val ModuleDef: ModuleDefExtractor

    The constructor/extractor for `ModuleDef` instances.

    The constructor/extractor for `ModuleDef` instances.

    Definition Classes
      Trees

81. #### implicit abstract val ModuleDefTag: ClassTag[ModuleDef]

    A tag that preserves the identity of the `ModuleDef` abstract type from erasure.

    A tag that preserves the identity of the `ModuleDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

82. #### implicit abstract val ModuleSymbolTag: ClassTag[ModuleSymbol]

    A tag that preserves the identity of the `ModuleSymbol` abstract type from erasure.

    A tag that preserves the identity of the `ModuleSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Symbols

83. #### implicit abstract val NameTag: ClassTag[Name]

    A tag that preserves the identity of the `Name` abstract type from erasure.

    A tag that preserves the identity of the `Name` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Names

84. #### implicit abstract val NameTreeTag: ClassTag[NameTree]

    A tag that preserves the identity of the `NameTree` abstract type from erasure.

    A tag that preserves the identity of the `NameTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

85. #### abstract val NestedArgument: NestedArgumentExtractor

    The constructor/extractor for `NestedArgument` instances.

    The constructor/extractor for `NestedArgument` instances.

    Definition Classes
      Annotations

86. #### implicit abstract val NestedArgumentTag: ClassTag[NestedArgument]

    A tag that preserves the identity of the `NestedArgument` abstract type from erasure.

    A tag that preserves the identity of the `NestedArgument` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Annotations

87. #### abstract val New: NewExtractor

    The constructor/extractor for `New` instances.

    The constructor/extractor for `New` instances.

    Definition Classes
      Trees

88. #### implicit abstract val NewTag: ClassTag[New]

    A tag that preserves the identity of the `New` abstract type from erasure.

    A tag that preserves the identity of the `New` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

89. #### abstract val NoFlags: FlagSet

    The empty set of flags

    The empty set of flags

    Definition Classes
      FlagSets

90. #### abstract val NoPosition: Position

    A special "missing" position.

    A special "missing" position.

    Definition Classes
      Positions

91. #### abstract val NoPrefix: Type

    This constant is used as a special value denoting the empty prefix in a path dependent type.

    This constant is used as a special value denoting the empty prefix in a path dependent type. For instance `x.type` is represented as `SingleType(NoPrefix, <x>)`, where `<x>` stands for the symbol for `x`.

    Definition Classes
      Types

92. #### abstract val NoSymbol: Symbol

    A special "missing" symbol.

    A special "missing" symbol. Commonly used in the API to denote a default or empty value.

    Definition Classes
      Symbols

93. #### abstract val NoType: Type

    This constant is used as a special value that indicates that no meaningful type exists.

    This constant is used as a special value that indicates that no meaningful type exists.

    Definition Classes
      Types

94. #### abstract val NullaryMethodType: NullaryMethodTypeExtractor

    The constructor/extractor for `NullaryMethodType` instances.

    The constructor/extractor for `NullaryMethodType` instances.

    Definition Classes
      Types

95. #### implicit abstract val NullaryMethodTypeTag: ClassTag[NullaryMethodType]

    A tag that preserves the identity of the `NullaryMethodType` abstract type from erasure.

    A tag that preserves the identity of the `NullaryMethodType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

96. #### abstract val PackageDef: PackageDefExtractor

    The constructor/extractor for `PackageDef` instances.

    The constructor/extractor for `PackageDef` instances.

    Definition Classes
      Trees

97. #### implicit abstract val PackageDefTag: ClassTag[PackageDef]

    A tag that preserves the identity of the `PackageDef` abstract type from erasure.

    A tag that preserves the identity of the `PackageDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Trees

98. #### abstract val PolyType: PolyTypeExtractor

    The constructor/extractor for `PolyType` instances.

    The constructor/extractor for `PolyType` instances.

    Definition Classes
      Types

99. #### implicit abstract val PolyTypeTag: ClassTag[PolyType]

    A tag that preserves the identity of the `PolyType` abstract type from erasure.

    A tag that preserves the identity of the `PolyType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
      Types

100. #### implicit abstract val PositionTag: ClassTag[Position]

     A tag that preserves the identity of the `Position` abstract type from erasure.

     A tag that preserves the identity of the `Position` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Positions

101. #### implicit abstract val RefTreeTag: ClassTag[RefTree]

     A tag that preserves the identity of the `RefTree` abstract type from erasure.

     A tag that preserves the identity of the `RefTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

102. #### abstract val ReferenceToBoxed: ReferenceToBoxedExtractor

     The constructor/extractor for `ReferenceToBoxed` instances.

     The constructor/extractor for `ReferenceToBoxed` instances.

     Definition Classes
       Trees

103. #### implicit abstract val ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]

     A tag that preserves the identity of the `ReferenceToBoxed` abstract type from erasure.

     A tag that preserves the identity of the `ReferenceToBoxed` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

104. #### abstract val RefinedType: RefinedTypeExtractor

     The constructor/extractor for `RefinedType` instances.

     The constructor/extractor for `RefinedType` instances.

     Definition Classes
       Types

105. #### implicit abstract val RefinedTypeTag: ClassTag[RefinedType]

     A tag that preserves the identity of the `RefinedType` abstract type from erasure.

     A tag that preserves the identity of the `RefinedType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

106. #### abstract val Return: ReturnExtractor

     The constructor/extractor for `Return` instances.

     The constructor/extractor for `Return` instances.

     Definition Classes
       Trees

107. #### implicit abstract val ReturnTag: ClassTag[Return]

     A tag that preserves the identity of the `Return` abstract type from erasure.

     A tag that preserves the identity of the `Return` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

108. #### implicit abstract val ScopeTag: ClassTag[Scope]

     A tag that preserves the identity of the `Scope` abstract type from erasure.

     A tag that preserves the identity of the `Scope` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Scopes

109. #### abstract def Select(qualifier: Tree, sym: Symbol): Select

     A factory method for `Select` nodes.

     A factory method for `Select` nodes.

     Definition Classes
       Trees

110. #### abstract val Select: SelectExtractor

     The constructor/extractor for `Select` instances.

     The constructor/extractor for `Select` instances.

     Definition Classes
       Trees

111. #### abstract val SelectFromTypeTree: SelectFromTypeTreeExtractor

     The constructor/extractor for `SelectFromTypeTree` instances.

     The constructor/extractor for `SelectFromTypeTree` instances.

     Definition Classes
       Trees

112. #### implicit abstract val SelectFromTypeTreeTag: ClassTag[SelectFromTypeTree]

     A tag that preserves the identity of the `SelectFromTypeTree` abstract type from erasure.

     A tag that preserves the identity of the `SelectFromTypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

113. #### implicit abstract val SelectTag: ClassTag[Select]

     A tag that preserves the identity of the `Select` abstract type from erasure.

     A tag that preserves the identity of the `Select` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

114. #### abstract val SingleType: SingleTypeExtractor

     The constructor/extractor for `SingleType` instances.

     The constructor/extractor for `SingleType` instances.

     Definition Classes
       Types

115. #### implicit abstract val SingleTypeTag: ClassTag[SingleType]

     A tag that preserves the identity of the `SingleType` abstract type from erasure.

     A tag that preserves the identity of the `SingleType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

116. #### implicit abstract val SingletonTypeTag: ClassTag[SingletonType]

     A tag that preserves the identity of the `SingletonType` abstract type from erasure.

     A tag that preserves the identity of the `SingletonType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

117. #### abstract val SingletonTypeTree: SingletonTypeTreeExtractor

     The constructor/extractor for `SingletonTypeTree` instances.

     The constructor/extractor for `SingletonTypeTree` instances.

     Definition Classes
       Trees

118. #### implicit abstract val SingletonTypeTreeTag: ClassTag[SingletonTypeTree]

     A tag that preserves the identity of the `SingletonTypeTree` abstract type from erasure.

     A tag that preserves the identity of the `SingletonTypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

119. #### abstract val Star: StarExtractor

     The constructor/extractor for `Star` instances.

     The constructor/extractor for `Star` instances.

     Definition Classes
       Trees

120. #### implicit abstract val StarTag: ClassTag[Star]

     A tag that preserves the identity of the `Star` abstract type from erasure.

     A tag that preserves the identity of the `Star` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

121. #### abstract val Super: SuperExtractor

     The constructor/extractor for `Super` instances.

     The constructor/extractor for `Super` instances.

     Definition Classes
       Trees

122. #### implicit abstract val SuperTag: ClassTag[Super]

     A tag that preserves the identity of the `Super` abstract type from erasure.

     A tag that preserves the identity of the `Super` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

123. #### abstract val SuperType: SuperTypeExtractor

     The constructor/extractor for `SuperType` instances.

     The constructor/extractor for `SuperType` instances.

     Definition Classes
       Types

124. #### implicit abstract val SuperTypeTag: ClassTag[SuperType]

     A tag that preserves the identity of the `SuperType` abstract type from erasure.

     A tag that preserves the identity of the `SuperType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

125. #### implicit abstract val SymTreeTag: ClassTag[SymTree]

     A tag that preserves the identity of the `SymTree` abstract type from erasure.

     A tag that preserves the identity of the `SymTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

126. #### implicit abstract val SymbolTag: ClassTag[Symbol]

     A tag that preserves the identity of the `Symbol` abstract type from erasure.

     A tag that preserves the identity of the `Symbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Symbols

127. #### abstract val Template: TemplateExtractor

     The constructor/extractor for `Template` instances.

     The constructor/extractor for `Template` instances.

     Definition Classes
       Trees

128. #### implicit abstract val TemplateTag: ClassTag[Template]

     A tag that preserves the identity of the `Template` abstract type from erasure.

     A tag that preserves the identity of the `Template` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

129. #### implicit abstract val TermNameTag: ClassTag[TermName]

     A tag that preserves the identity of the `TermName` abstract type from erasure.

     A tag that preserves the identity of the `TermName` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Names

130. #### implicit abstract val TermSymbolTag: ClassTag[TermSymbol]

     A tag that preserves the identity of the `TermSymbol` abstract type from erasure.

     A tag that preserves the identity of the `TermSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Symbols

131. #### implicit abstract val TermTreeTag: ClassTag[TermTree]

     A tag that preserves the identity of the `TermTree` abstract type from erasure.

     A tag that preserves the identity of the `TermTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

132. #### abstract def This(sym: Symbol): Tree

     A factory method for `This` nodes.

     A factory method for `This` nodes.

     Definition Classes
       Trees

133. #### abstract val This: ThisExtractor

     The constructor/extractor for `This` instances.

     The constructor/extractor for `This` instances.

     Definition Classes
       Trees

134. #### implicit abstract val ThisTag: ClassTag[This]

     A tag that preserves the identity of the `This` abstract type from erasure.

     A tag that preserves the identity of the `This` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

135. #### abstract val ThisType: ThisTypeExtractor

     The constructor/extractor for `ThisType` instances.

     The constructor/extractor for `ThisType` instances.

     Definition Classes
       Types

136. #### implicit abstract val ThisTypeTag: ClassTag[ThisType]

     A tag that preserves the identity of the `ThisType` abstract type from erasure.

     A tag that preserves the identity of the `ThisType` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

137. #### abstract val Throw: ThrowExtractor

     The constructor/extractor for `Throw` instances.

     The constructor/extractor for `Throw` instances.

     Definition Classes
       Trees

138. #### implicit abstract val ThrowTag: ClassTag[Throw]

     A tag that preserves the identity of the `Throw` abstract type from erasure.

     A tag that preserves the identity of the `Throw` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

139. #### implicit abstract val TreeTag: ClassTag[Tree]

     A tag that preserves the identity of the `Tree` abstract type from erasure.

     A tag that preserves the identity of the `Tree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

140. #### abstract val Try: TryExtractor

     The constructor/extractor for `Try` instances.

     The constructor/extractor for `Try` instances.

     Definition Classes
       Trees

141. #### implicit abstract val TryTag: ClassTag[Try]

     A tag that preserves the identity of the `Try` abstract type from erasure.

     A tag that preserves the identity of the `Try` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

142. #### implicit abstract val TypTreeTag: ClassTag[TypTree]

     A tag that preserves the identity of the `TypTree` abstract type from erasure.

     A tag that preserves the identity of the `TypTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

143. #### abstract val TypeApply: TypeApplyExtractor

     The constructor/extractor for `TypeApply` instances.

     The constructor/extractor for `TypeApply` instances.

     Definition Classes
       Trees

144. #### implicit abstract val TypeApplyTag: ClassTag[TypeApply]

     A tag that preserves the identity of the `TypeApply` abstract type from erasure.

     A tag that preserves the identity of the `TypeApply` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

145. #### abstract val TypeBounds: TypeBoundsExtractor

     The constructor/extractor for `TypeBounds` instances.

     The constructor/extractor for `TypeBounds` instances.

     Definition Classes
       Types

146. #### implicit abstract val TypeBoundsTag: ClassTag[TypeBounds]

     A tag that preserves the identity of the `TypeBounds` abstract type from erasure.

     A tag that preserves the identity of the `TypeBounds` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

147. #### abstract val TypeBoundsTree: TypeBoundsTreeExtractor

     The constructor/extractor for `TypeBoundsTree` instances.

     The constructor/extractor for `TypeBoundsTree` instances.

     Definition Classes
       Trees

148. #### implicit abstract val TypeBoundsTreeTag: ClassTag[TypeBoundsTree]

     A tag that preserves the identity of the `TypeBoundsTree` abstract type from erasure.

     A tag that preserves the identity of the `TypeBoundsTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

149. #### abstract val TypeDef: TypeDefExtractor

     The constructor/extractor for `TypeDef` instances.

     The constructor/extractor for `TypeDef` instances.

     Definition Classes
       Trees

150. #### implicit abstract val TypeDefTag: ClassTag[TypeDef]

     A tag that preserves the identity of the `TypeDef` abstract type from erasure.

     A tag that preserves the identity of the `TypeDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

151. #### implicit abstract val TypeNameTag: ClassTag[TypeName]

     A tag that preserves the identity of the `TypeName` abstract type from erasure.

     A tag that preserves the identity of the `TypeName` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Names

152. #### abstract val TypeRef: TypeRefExtractor

     The constructor/extractor for `TypeRef` instances.

     The constructor/extractor for `TypeRef` instances.

     Definition Classes
       Types

153. #### implicit abstract val TypeRefTag: ClassTag[TypeRef]

     A tag that preserves the identity of the `TypeRef` abstract type from erasure.

     A tag that preserves the identity of the `TypeRef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

154. #### implicit abstract val TypeSymbolTag: ClassTag[TypeSymbol]

     A tag that preserves the identity of the `TypeSymbol` abstract type from erasure.

     A tag that preserves the identity of the `TypeSymbol` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Symbols

155. #### implicit abstract val TypeTagg: ClassTag[Type]

     A tag that preserves the identity of the `Type` abstract type from erasure.

     A tag that preserves the identity of the `Type` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Types

156. #### abstract def TypeTree(tp: Type): TypeTree

     A factory method for `TypeTree` nodes.

     A factory method for `TypeTree` nodes.

     Definition Classes
       Trees

157. #### abstract val TypeTree: TypeTreeExtractor

     The constructor/extractor for `TypeTree` instances.

     The constructor/extractor for `TypeTree` instances.

     Definition Classes
       Trees

158. #### implicit abstract val TypeTreeTag: ClassTag[TypeTree]

     A tag that preserves the identity of the `TypeTree` abstract type from erasure.

     A tag that preserves the identity of the `TypeTree` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

159. #### abstract val Typed: TypedExtractor

     The constructor/extractor for `Typed` instances.

     The constructor/extractor for `Typed` instances.

     Definition Classes
       Trees

160. #### implicit abstract val TypedTag: ClassTag[Typed]

     A tag that preserves the identity of the `Typed` abstract type from erasure.

     A tag that preserves the identity of the `Typed` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

161. #### abstract val UnApply: UnApplyExtractor

     The constructor/extractor for `UnApply` instances.

     The constructor/extractor for `UnApply` instances.

     Definition Classes
       Trees

162. #### implicit abstract val UnApplyTag: ClassTag[UnApply]

     A tag that preserves the identity of the `UnApply` abstract type from erasure.

     A tag that preserves the identity of the `UnApply` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

163. #### abstract val ValDef: ValDefExtractor

     The constructor/extractor for `ValDef` instances.

     The constructor/extractor for `ValDef` instances.

     Definition Classes
       Trees

164. #### implicit abstract val ValDefTag: ClassTag[ValDef]

     A tag that preserves the identity of the `ValDef` abstract type from erasure.

     A tag that preserves the identity of the `ValDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

165. #### implicit abstract val ValOrDefDefTag: ClassTag[ValOrDefDef]

     A tag that preserves the identity of the `ValOrDefDef` abstract type from erasure.

     A tag that preserves the identity of the `ValOrDefDef` abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

     Definition Classes
       Trees

166. #### abstract val WildcardType: Type

     An object representing an unknown type, used during type inference.

     An object representing an unknown type, used during type inference. If you see WildcardType outside of inference it is almost certainly a bug.

     Definition Classes
       Types

167. #### implicit abstract def addFlagOps(left: FlagSet): FlagOps

     The API of `FlagSet` instances.

     The API of `FlagSet` instances.

     Definition Classes
       FlagSets

168. #### abstract def appliedType(tycon: Type, args: List[Type]): Type

     A creator for type applications

     A creator for type applications

     Definition Classes
       Types

169. #### abstract def atPos[T <: Tree](pos: Position)(tree: T): T

     Assigns a given position to all position-less nodes of a given AST.

     Assigns a given position to all position-less nodes of a given AST.

     Definition Classes
       Positions

170. #### abstract val build: BuildApi

     Definition Classes
       BuildUtils

171. #### abstract val definitions: DefinitionsApi

     A value containing all standard definitions in DefinitionsApi

     A value containing all standard definitions in DefinitionsApi

     Definition Classes
       StandardDefinitions

172. #### abstract val emptyValDef: ValDef

     An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the `self` parameter Template if there is no definition of a self value of self type.

     An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the `self` parameter Template if there is no definition of a self value of self type.

     Definition Classes
       Trees

173. #### abstract def existentialAbstraction(tparams: List[Symbol], tpe0: Type): Type

     A creator for existential types.

     A creator for existential types. This generates:

         tpe1 where { tparams }

     where `tpe1` is the result of extrapolating `tpe` with regard to `tparams`. Extrapolating means that type variables in `tparams` occurring in covariant positions are replaced by upper bounds, (minus any SingletonClass markers), type variables in `tparams` occurring in contravariant positions are replaced by upper bounds, provided the resulting type is legal with regard to stability, and does not contain any type variable in `tparams`.

     The abstraction drops all type parameters that are not directly or indirectly referenced by type `tpe1`. If there are no remaining type parameters, simply returns result type `tpe`.

     Definition Classes
       Types

174. #### abstract def glb(ts: List[Type]): Type

     The greatest lower bound of a list of types, as determined by `<:<`.

     The greatest lower bound of a list of types, as determined by `<:<`.

     Definition Classes
       Types

175. #### abstract def intersectionType(tps: List[Type], owner: Symbol): Type

     A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

     A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

     !!! Repeated parent classes are not merged - is this a bug in the comment or in the code?

     Definition Classes
       Types

176. #### abstract def intersectionType(tps: List[Type]): Type

     A creator for intersection type where intersections of a single type are replaced by the type itself.

     A creator for intersection type where intersections of a single type are replaced by the type itself.

     Definition Classes
       Types

177. #### abstract def lub(xs: List[Type]): Type

     The least upper bound of a list of types, as determined by `<:<`.

     The least upper bound of a list of types, as determined by `<:<`.

     Definition Classes
       Types

178. #### abstract def mkImporter(from0: Universe): Importer { val from: from0.type }

     Creates an importer that moves reflection artifacts between universes.

     Creates an importer that moves reflection artifacts between universes.

     Definition Classes
       Importers

179. #### abstract def newLazyTreeCopier: TreeCopier

     Creates a lazy tree copier.

     Creates a lazy tree copier.

     Definition Classes
       Trees

180. #### abstract def newRawTreePrinter(out: PrintWriter): TreePrinter

     Hook to define what `showRaw(...)` means.

     Hook to define what `showRaw(...)` means.

     Attributes
       protected
     Definition Classes
       Printers

181. #### abstract def newScopeWith(elems: Symbol*): Scope

     Create a new scope with the given initial elements.

     Create a new scope with the given initial elements.

     Definition Classes
       Scopes

182. #### abstract def newStrictTreeCopier: TreeCopier

     Creates a strict tree copier.

     Creates a strict tree copier.

     Definition Classes
       Trees

183. #### abstract def newTermName(s: String): TermName

     Create a new term name.

     Create a new term name.

     Definition Classes
       Names

184. #### abstract def newTreePrinter(out: PrintWriter): TreePrinter

     Hook to define what `show(...)` means.

     Hook to define what `show(...)` means.

     Attributes
       protected
     Definition Classes
       Printers

185. #### abstract def newTypeName(s: String): TypeName

     Creates a new type name.

     Creates a new type name.

     Definition Classes
       Names

186. #### abstract val nme: TermNamesApi

     A value containing all standard term names.

     A value containing all standard term names.

     Definition Classes
       StandardNames

187. #### abstract def polyType(tparams: List[Symbol], tpe: Type): Type

     A creator for type parameterizations that strips empty type parameter lists.

     A creator for type parameterizations that strips empty type parameter lists. Use this factory method to indicate the type has kind * (it's a polymorphic value) until we start tracking explicit kinds equivalent to typeFun (except that the latter requires tparams nonEmpty).

     Definition Classes
       Types

188. #### abstract def refinedType(parents: List[Type], owner: Symbol): Type

     The canonical creator for a refined type with an initially empty scope.

     The canonical creator for a refined type with an initially empty scope.

     Definition Classes
       Types

189. #### abstract def refinedType(parents: List[Type], owner: Symbol, decls: Scope, pos: Position): Type

     the canonical creator for a refined type with a given scope

     the canonical creator for a refined type with a given scope

     Definition Classes
       Types

190. #### abstract val rootMirror: Mirror

     The root mirror of this universe.

     The root mirror of this universe. This mirror contains standard Scala classes and types such as `Any`, `AnyRef`, `AnyVal`, `Nothing`, `Null`, and all classes loaded from scala-library, which are shared across all mirrors within the enclosing universe.

     Definition Classes
       Mirrors

191. #### abstract def runtimeMirror(cl: ClassLoader): Mirror

     Creates a runtime reflection mirror from a JVM classloader.

     Creates a runtime reflection mirror from a JVM classloader.

     For more information about `Mirrors`s, see scala.reflect.api.Mirrors or the Reflection Guide: Mirrors

     Definition Classes
       JavaMirrors

192. #### abstract def show(flags: FlagSet): String

     Renders a prettified representation of a flag set.

     Renders a prettified representation of a flag set.

     Definition Classes
       Printers

193. #### abstract def show(name: Name): String

     Renders a prettified representation of a name.

     Renders a prettified representation of a name.

     Definition Classes
       Printers

194. #### abstract def singleType(pre: Type, sym: Symbol): Type

     The canonical creator for single-types

     The canonical creator for single-types

     Definition Classes
       Types

195. #### abstract val tpnme: TypeNamesApi

     A value containing all standard type names.

     A value containing all standard type names.

     Definition Classes
       StandardNames

196. #### abstract def typeRef(pre: Type, sym: Symbol, args: List[Type]): Type

     The canonical creator for typerefs

     The canonical creator for typerefs

     Definition Classes
       Types

197. #### abstract def wrappingPos(trees: List[Tree]): Position

     A position that wraps the non-empty set of trees.

     A position that wraps the non-empty set of trees. The point of the wrapping position is the point of the first trees' position. If all some the trees are non-synthetic, returns a range position enclosing the non-synthetic trees Otherwise returns a synthetic offset position to point.

     Definition Classes
       Positions

198. #### abstract def wrappingPos(default: Position, trees: List[Tree]): Position

     A position that wraps a set of trees.

     A position that wraps a set of trees. The point of the wrapping position is the point of the default position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns default position.

     Definition Classes
       Positions

199. #### abstract def Apply(sym: Symbol, args: Tree*): Tree

     A factory method for `Apply` nodes.

     A factory method for `Apply` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Apply(Ident(sym), args.toList) instead

200. #### abstract def ApplyConstructor(tpt: Tree, args: List[Tree]): Tree

     0-1 argument list new, based on a type tree.

     0-1 argument list new, based on a type tree.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Apply(Select(New(tpt), nme.CONSTRUCTOR), args) instead

201. #### abstract def Bind(sym: Symbol, body: Tree): Bind

     A factory method for `Bind` nodes.

     A factory method for `Bind` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical Bind constructor to create a bind and then initialize its symbol manually

202. #### abstract def Block(stats: Tree*): Block

     A factory method for `Block` nodes.

     A factory method for `Block` nodes. Flattens directly nested blocks.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical Block constructor, explicitly specifying its expression if necessary. Flatten directly nested blocks manually if needed

203. #### abstract def CaseDef(pat: Tree, body: Tree): CaseDef

     A factory method for `CaseDef` nodes.

     A factory method for `CaseDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical CaseDef constructor passing EmptyTree for guard

204. #### abstract def ClassDef(sym: Symbol, impl: Template): ClassDef

     A factory method for `ClassDef` nodes.

     A factory method for `ClassDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical ClassDef constructor to create a class and then initialize its position and symbol manually

205. #### abstract def DefDef(sym: Symbol, rhs: (List[List[Symbol]]) ⇒ Tree): DefDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical DefDef constructor to create a method and then initialize its position and symbol manually

206. #### abstract def DefDef(sym: Symbol, rhs: Tree): DefDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical DefDef constructor to create a method and then initialize its position and symbol manually

207. #### abstract def DefDef(sym: Symbol, mods: Modifiers, rhs: Tree): DefDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical DefDef constructor to create a method and then initialize its position and symbol manually

208. #### abstract def DefDef(sym: Symbol, vparamss: List[List[ValDef]], rhs: Tree): DefDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical DefDef constructor to create a method and then initialize its position and symbol manually

209. #### abstract def DefDef(sym: Symbol, mods: Modifiers, vparamss: List[List[ValDef]], rhs: Tree): DefDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical DefDef constructor to create a method and then initialize its position and symbol manually

210. #### abstract def Ident(name: String): Ident

     A factory method for `Ident` nodes.

     A factory method for `Ident` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Ident(newTermName(name)) instead

211. #### abstract def LabelDef(sym: Symbol, params: List[Symbol], rhs: Tree): LabelDef

     A factory method for `LabelDef` nodes.

     A factory method for `LabelDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical LabelDef constructor to create a label and then initialize its position and symbol manually

212. #### abstract def ModuleDef(sym: Symbol, impl: Template): ModuleDef

     A factory method for `ModuleDef` nodes.

     A factory method for `ModuleDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical ModuleDef constructor to create an object and then initialize its position and symbol manually

213. #### abstract def New(sym: Symbol, args: Tree*): Tree

     0-1 argument list new, based on a symbol.

     0-1 argument list new, based on a symbol.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use New(sym.toType, args) instead

214. #### abstract def New(tpe: Type, args: Tree*): Tree

     0-1 argument list new, based on a type.

     0-1 argument list new, based on a type.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use New(TypeTree(tpe), args.toList) instead

215. #### abstract def New(tpt: Tree, argss: List[List[Tree]]): Tree

     Factory method for object creation `new tpt(args_1)...(args_n)` A `New(t, as)` is expanded to: `(new t).<init>(as)`

     Factory method for object creation `new tpt(args_1)...(args_n)` A `New(t, as)` is expanded to: `(new t).<init>(as)`

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Apply(...Apply(Select(New(tpt), nme.CONSTRUCTOR), args1)...argsN) instead

216. #### abstract def Select(qualifier: Tree, name: String): Select

     A factory method for `Select` nodes.

     A factory method for `Select` nodes. The string `name` argument is assumed to represent a `TermName`.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Select(tree, newTermName(name)) instead

217. #### abstract def Super(sym: Symbol, mix: TypeName): Tree

     A factory method for `Super` nodes.

     A factory method for `Super` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use Super(This(sym), mix) instead

218. #### abstract def Throw(tpe: Type, args: Tree*): Throw

     A factory method for `Throw` nodes.

     A factory method for `Throw` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical New constructor to create an object instantiation expression and then wrap it in Throw

219. #### abstract def Try(body: Tree, cases: (Tree, Tree)*): Try

     A factory method for `Try` nodes.

     A factory method for `Try` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use canonical CaseDef constructors to to create exception catching expressions and then wrap them in Try

220. #### abstract def TypeDef(sym: Symbol): TypeDef

     A factory method for `TypeDef` nodes.

     A factory method for `TypeDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical TypeDef constructor to create an abstract type or type parameter and then initialize its position and symbol manually

221. #### abstract def TypeDef(sym: Symbol, rhs: Tree): TypeDef

     A factory method for `TypeDef` nodes.

     A factory method for `TypeDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical TypeDef constructor to create a type alias and then initialize its position and symbol manually

222. #### abstract def ValDef(sym: Symbol): ValDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical ValDef constructor to create a val with an empty right-hand side and then initialize its position and symbol manually

223. #### abstract def ValDef(sym: Symbol, rhs: Tree): ValDef

     A factory method for `ValDef` nodes.

     A factory method for `ValDef` nodes.

     Definition Classes
       Trees
     Annotations
       @deprecated
     Deprecated

       (Since version 2.10.1) Use the canonical ValDef constructor to create a val and then initialize its position and symbol manually

### Concrete Value Members

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

   Definition Classes
     AnyRef

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

   Test two objects for inequality.

   Test two objects for inequality.

   returns

     `true` if !(this == that), false otherwise.

   Definition Classes
     Any

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

   Equivalent to `x.hashCode` except for boxed numeric types and `null`.

   Equivalent to `x.hashCode` except for boxed numeric types and `null`. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For `null` returns a hashcode where `null.hashCode` throws a `NullPointerException`.

   returns

     a hash value consistent with ==

   Definition Classes
     AnyRef → Any

4. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to StringAdd performed by method any2stringadd in scala.Predef.
   Definition Classes
     StringAdd

5. #### def ->[B](y: B): (JavaUniverse, B)

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method any2ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline ()

6. #### final def ==(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

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

   Test two objects for equality.

   Test two objects for equality. The expression `x == that` is equivalent to `if (x eq null) that eq null else x.equals(that)`.

   returns

     `true` if the receiver object is equivalent to the argument; `false` otherwise.

   Definition Classes
     Any

8. #### object BooleanFlag extends Serializable

9. #### object Expr extends Serializable

   Constructor/Extractor for Expr.

10. #### def Modifiers(flags: FlagSet): Modifiers

    The factory for `Modifiers` instances.

    The factory for `Modifiers` instances.

    Definition Classes
      Trees

11. #### def Modifiers(flags: FlagSet, privateWithin: Name): Modifiers

    The factory for `Modifiers` instances.

    The factory for `Modifiers` instances.

    Definition Classes
      Trees

12. #### lazy val NoMods: Modifiers

    An empty `Modifiers` object: no flags, empty visibility annotation and no Scala annotations.

    An empty `Modifiers` object: no flags, empty visibility annotation and no Scala annotations.

    Definition Classes
      Trees

13. #### object TypeTag extends Serializable

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

14. #### object WeakTypeTag extends Serializable

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

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

    Cast the receiver object to be of type `T0`.

    Cast the receiver object to be of type `T0`.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression `1.asInstanceOf[String]` will throw a `ClassCastException` at runtime, while the expression `List(1).asInstanceOf[List[String]]` will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

      the receiver object.

    Definition Classes
      Any
    Exceptions thrown
      ClassCastException

      if the receiver object is not an instance of the erasure of type `T0`.

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

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the `clone` method is platform dependent.

    returns

      a copy of the receiver object.

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

      not specified by SLS as a member of AnyRef

17. #### def ensuring(cond: (JavaUniverse) ⇒ Boolean, msg: ⇒ Any): JavaUniverse

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

18. #### def ensuring(cond: (JavaUniverse) ⇒ Boolean): JavaUniverse

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

19. #### def ensuring(cond: Boolean, msg: ⇒ Any): JavaUniverse

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

20. #### def ensuring(cond: Boolean): JavaUniverse

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

21. #### final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

    Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

    The `eq` method implements an equivalence relation on non-null instances of `AnyRef`, and has three additional properties:

    - It is consistent: for any non-null instances `x` and `y` of type `AnyRef`, multiple invocations of `x.eq(y)` consistently returns `true` or consistently returns `false`.
    - For any non-null instance `x` of type `AnyRef`, `x.eq(null)` and `null.eq(x)` returns `false`.
    - `null.eq(null)` returns `true`.

    When overriding the `equals` or `hashCode` methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (`o1 eq o2`), they should be equal to each other (`o1 == o2`) and they should hash to the same value (`o1.hashCode == o2.hashCode`).

    returns

      `true` if the argument is a reference to the receiver object; `false` otherwise.

    Definition Classes
      AnyRef

22. #### def equals(arg0: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to `eq`.

    See also `equals` in scala.Any.

    returns

      `true` if the receiver object is equivalent to the argument; `false` otherwise.

    Definition Classes
      AnyRef → Any

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

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the `finalize` method is invoked, as well as the interaction between `finalize` and non-local returns and exceptions, are all platform dependent.

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

      not specified by SLS as a member of AnyRef

24. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline ()

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

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

      a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
      AnyRef → Any
    Note

      not specified by SLS as a member of AnyRef

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

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

      the hash code value for this object.

    Definition Classes
      AnyRef → Any

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

    Test whether the dynamic type of the receiver object is `T0`.

    Test whether the dynamic type of the receiver object is `T0`.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression `1.isInstanceOf[String]` will return `false`, while the expression `List(1).isInstanceOf[List[String]]` will return `true`. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

      `true` if the receiver object is an instance of erasure of type `T0`; `false` otherwise.

    Definition Classes
      Any

28. #### def itransform(transformer: Transformer, tree: Tree): Tree

    Delegates the transformation strategy to `scala.reflect.internal.Trees`, because pattern matching on abstract types we have here degrades performance.

    Delegates the transformation strategy to `scala.reflect.internal.Trees`, because pattern matching on abstract types we have here degrades performance.

    Attributes
      protected
    Definition Classes
      Trees

29. #### def itraverse(traverser: Traverser, tree: Tree): Unit

    Delegates the traversal strategy to `scala.reflect.internal.Trees`, because pattern matching on abstract types we have here degrades performance.

    Delegates the traversal strategy to `scala.reflect.internal.Trees`, because pattern matching on abstract types we have here degrades performance.

    Attributes
      protected
    Definition Classes
      Trees

30. #### def manifestToTypeTag[T](mirror0: Any, manifest: Manifest[T]): Universe.TypeTag[T]

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Compiler usually generates these conversions automatically, when a manifest for a type `T` is in scope, and an implicit of type `TypeTag[T]` is requested, but this method can also be called manually. For example:

        manifestToTypeTag(scala.reflect.runtime.currentMirror, implicitly[Manifest[String]])

    Definition Classes
      JavaUniverse → TagInterop

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

    Equivalent to `!(this eq that)`.

    Equivalent to `!(this eq that)`.

    returns

      `true` if the argument is not a reference to the receiver object; `false` otherwise.

    Definition Classes
      AnyRef

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

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

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

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

34. #### def reify[T](expr: T): Expr[T]

    Use `refiy` to produce the abstract syntax tree representing a given Scala expression.

    Use `refiy` to produce the abstract syntax tree representing a given Scala expression.

    For example:

        val five = reify{ 5 }    // Literal(Constant(5))
        reify{ 2 + 4 }           // Apply( Select( Literal(Constant(2)), newTermName("$plus")), List( Literal(Constant(4)) ) )
        reify{ five.splice + 4 } // Apply( Select( Literal(Constant(5)), newTermName("$plus")), List( Literal(Constant(4)) ) )

    The produced tree is path dependent on the Universe `reify` was called from.

    Use scala.reflect.api.Exprs#Expr.splice to embed an existing expression into a `reify` call. Use Expr to turn a Tree into an expression that can be spliced.

    Definition Classes
      Universe

35. #### def render(what: Any, mkPrinter: (PrintWriter) ⇒ TreePrinter, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None): String

    Attributes
      protected
    Definition Classes
      Printers

36. #### def show(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None): String

    Renders a representation of a reflection artifact as desugared Java code.

    Renders a representation of a reflection artifact as desugared Java code.

    Definition Classes
      Printers

37. #### def showRaw(flags: FlagSet): String

    Renders internal structure of a flag set.

    Renders internal structure of a flag set.

    Definition Classes
      Printers

38. #### def showRaw(name: Name): String

    Renders internal structure of a name.

    Renders internal structure of a name.

    Definition Classes
      Printers

39. #### def showRaw(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None): String

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Definition Classes
      Printers

40. #### implicit def stringToTermName(s: String): TermName

    An implicit conversion from String to TermName.

    An implicit conversion from String to TermName. Enables an alternative notation `"map": TermName` as opposed to `newTermName("map")`.

    Definition Classes
      Names

41. #### implicit def stringToTypeName(s: String): TypeName

    An implicit conversion from String to TypeName.

    An implicit conversion from String to TypeName. Enables an alternative notation `"List": TypeName` as opposed to `newTypeName("List")`.

    Definition Classes
      Names

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

    Definition Classes
      AnyRef

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

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

      a String representation of the object.

    Definition Classes
      AnyRef → Any

44. #### val treeCopy: TreeCopier

    The standard (lazy) tree copier.

    The standard (lazy) tree copier.

    Definition Classes
      Trees

45. #### def treeToString(tree: Tree): String

    By default trees are printed with `show`

    By default trees are printed with `show`

    Attributes
      protected
    Definition Classes
      Printers

46. #### def typeOf[T](implicit ttag: TypeTag[T]): Type

    Shortcut for `implicitly[TypeTag[T]].tpe`

    Shortcut for `implicitly[TypeTag[T]].tpe`

    Definition Classes
      TypeTags

47. #### def typeTag[T](implicit ttag: TypeTag[T]): TypeTag[T]

    Shortcut for `implicitly[TypeTag[T]]`

    Shortcut for `implicitly[TypeTag[T]]`

    Definition Classes
      TypeTags

48. #### def typeTagToManifest[T](mirror0: Any, tag: Universe.TypeTag[T])(implicit arg0: ClassTag[T]): Manifest[T]

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Compiler usually generates these conversions automatically, when a type tag for a type `T` is in scope, and an implicit of type `Manifest[T]` is requested, but this method can also be called manually. For example:

        typeTagToManifest(scala.reflect.runtime.currentMirror, implicitly[TypeTag[String]])

    Definition Classes
      JavaUniverse → TagInterop

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

    Definition Classes
      AnyRef
    Annotations
      @throws ( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws ( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws ( ... )

52. #### def weakTypeOf[T](implicit attag: WeakTypeTag[T]): Type

    Shortcut for `implicitly[WeakTypeTag[T]].tpe`

    Shortcut for `implicitly[WeakTypeTag[T]].tpe`

    Definition Classes
      TypeTags

53. #### def weakTypeTag[T](implicit attag: WeakTypeTag[T]): WeakTypeTag[T]

    Shortcut for `implicitly[WeakTypeTag[T]]`

    Shortcut for `implicitly[WeakTypeTag[T]]`

    Definition Classes
      TypeTags

54. #### def xtransform(transformer: Transformer, tree: Tree): Tree

    Provides an extension hook for the transformation strategy.

    Provides an extension hook for the transformation strategy. Future-proofs against new node types.

    Attributes
      protected
    Definition Classes
      Trees

55. #### def xtraverse(traverser: Traverser, tree: Tree): Unit

    Provides an extension hook for the traversal strategy.

    Provides an extension hook for the traversal strategy. Future-proofs against new node types.

    Attributes
      protected
    Definition Classes
      Trees

56. #### def →[B](y: B): (JavaUniverse, B)

    Implicit information
      This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Shadowed Implicit Value Members

1. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to StringAdd performed by method any2stringadd in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (javaUniverse: StringAdd).self

   Definition Classes
     StringAdd

2. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to StringFormat performed by method any2stringfmt in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (javaUniverse: StringFormat).self

   Definition Classes
     StringFormat

### Deprecated Value Members

1. #### def x: JavaUniverse

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method any2ArrowAssoc in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (javaUniverse: ArrowAssoc[JavaUniverse]).x

   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.10.0) Use `leftOfArrow`instead``

2. #### def x: JavaUniverse

   Implicit information
     This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (javaUniverse: Ensuring[JavaUniverse]).x

   Definition Classes
     Ensuring
   Annotations
     @deprecated
   Deprecated

     (Since version 2.10.0) Use `resultOfEnsuring`instead``

### Inherited from JavaMirrors

### Inherited from Universe

### Inherited from Importers

### Inherited from Printers

### Inherited from Mirrors

### Inherited from BuildUtils

### Inherited from StandardNames

### Inherited from StandardDefinitions

### Inherited from TagInterop

### Inherited from TypeTags

### Inherited from Exprs

### Inherited from Positions

### Inherited from Annotations

### Inherited from Constants

### Inherited from Trees

### Inherited from Names

### Inherited from Scopes

### Inherited from FlagSets

### Inherited from Types

### Inherited from Symbols

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from JavaUniverse to StringAdd

### Inherited by implicit conversion any2stringfmt from JavaUniverse to StringFormat

### Inherited by implicit conversion any2ArrowAssoc from JavaUniverse to ArrowAssoc[JavaUniverse]

### Inherited by implicit conversion any2Ensuring from JavaUniverse to Ensuring[JavaUniverse]

### Universe

### Annotations

### Constants

### Definitions

### Expressions

### Flags

### Importers

### Java Mirrors

### Mirrors

### Names

### Positions

### Printers

### Scopes

### Standard Names

### Symbols

### TypeTag and Manifest Interoperability

### TreeBuilders

### Trees

### Types - Creation

### Types - Operations

### TypeTags

### Types

### Tree Copying

### Factories

### Tree Traversal and Transformation

### API

The methods available for each reflection entity, without the implementation. Since the reflection entities are later overridden by runtime reflection and macros, their API counterparts guarantee a minimum set of methods that are implemented.

### Extractors

Extractors provide the machinery necessary to allow pattern matching and construction of reflection entities that is similar to case classes, although the entities are only abstract types that are later overridden.

### Tags

Implicit values that provide `ClassTags` for the reflection classes. These are abstract in the interface but are later filled in to provide ClassTags for the either the runtime reflection or macros entities, depending on the use.

### Ungrouped