scala.reflect.generic

# Universe

#### abstract class Universe extends Symbols with Types with Constants with Scopes with Names with StdNames with Trees with AnnotationInfos with StandardDefinitions

Annotations
  @deprecated
Deprecated

  (Since version 2.9.1) scala.reflect.generic will be removed

Source
  Universe.scala

Linear Supertypes
StandardDefinitions, AnnotationInfos, Trees, StdNames, Names, Scopes, Constants, Types, Symbols, AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. Universe
2. StandardDefinitions
3. AnnotationInfos
4. Trees
5. StdNames
6. Names
7. Scopes
8. Constants
9. Types
10. Symbols
11. AnyRef
12. Any

Visibility

1. Public
2. All

### Instance Constructors

1. #### new Universe()

### Type Members

1. #### abstract class AbsDefinitions extends AnyRef

2. #### trait AbsLazyType extends AbsType

3. #### abstract class AbsScope extends Iterable[Symbol]

4. #### abstract class AbsSymbol extends HasFlags

5. #### abstract class AbsTreePrinter extends AnyRef

6. #### abstract class AbsType extends AnyRef

7. #### abstract class AbsTypeTree extends Tree with TypTree

   A synthetic term holding an arbitrary type.

8. #### case class Alternative(trees: List[Tree]) extends Tree with TermTree with Product with Serializable

   Alternatives of patterns, eliminated by explicitouter, except for occurrences in encoded Switch stmt (=remaining Match(CaseDef(.

9. #### case class Annotated(annot: Tree, arg: Tree) extends Tree with Product with Serializable

   A tree that has an annotation attached to it.

10. #### abstract type AnnotatedType <: Type

    Definition Classes
      Types

11. #### abstract class AnnotatedTypeExtractor extends AnyRef

12. #### abstract type AnnotationInfo <: AnyRef

    Definition Classes
      AnnotationInfos

13. #### abstract class AnnotationInfoExtractor extends AnyRef

14. #### case class AppliedTypeTree(tpt: Tree, args: List[Tree]) extends Tree with TypTree with Product with Serializable

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

15. #### case class Apply(fun: Tree, args: List[Tree]) extends GenericApply with Product with Serializable

    Value application

16. #### case class ApplyDynamic(qual: Tree, args: List[Tree]) extends Tree with TermTree with SymTree with Product with Serializable

    Dynamic value application.

17. #### abstract type ArrayAnnotArg <: ClassfileAnnotArg

    Definition Classes
      AnnotationInfos

18. #### abstract class ArrayAnnotArgExtractor extends AnyRef

19. #### case class ArrayValue(elemtpt: Tree, elems: List[Tree]) extends Tree with TermTree with Product with Serializable

    Array of expressions, needs to be translated in backend,

20. #### case class Assign(lhs: Tree, rhs: Tree) extends Tree with TermTree with Product with Serializable

    Assignment

21. #### class BackQuotedIdent extends Ident

22. #### case class Bind(name: Name, body: Tree) extends DefTree with Product with Serializable

    Bind of a variable to a rhs pattern, eliminated by explicitouter

23. #### case class Block(stats: List[Tree], expr: Tree) extends Tree with TermTree with Product with Serializable

    Block of expressions (semicolon separated expressions)

24. #### case class CaseDef(pat: Tree, guard: Tree, body: Tree) extends Tree with Product with Serializable

    Case clause in a pattern match, eliminated during explicitouter (except for occurrences in switch statements)

25. #### case class ClassDef(mods: Modifiers, name: TypeName, tparams: List[TypeDef], impl: Template) extends ImplDef with Product with Serializable

    Class definition

26. #### abstract type ClassInfoType <: CompoundType

    Definition Classes
      Types

27. #### abstract class ClassInfoTypeExtractor extends AnyRef

28. #### abstract type ClassfileAnnotArg <: AnyRef

    Definition Classes
      AnnotationInfos

29. #### abstract type CompoundType <: Type

    Definition Classes
      Types

30. #### case class CompoundTypeTree(templ: Template) extends Tree with TypTree with Product with Serializable

    Intersection type <parent1> with .

31. #### case class Constant(value: Any) extends Product with Serializable

32. #### abstract type ConstantType <: Type

    Definition Classes
      Types

33. #### abstract class ConstantTypeExtractor extends AnyRef

34. #### case class DefDef(mods: Modifiers, name: TermName, tparams: List[TypeDef], vparamss: List[List[ValDef]], tpt: Tree, rhs: Tree) extends ValOrDefDef with Product with Serializable

    Method definition

35. #### abstract class DefTree extends Tree with SymTree

36. #### abstract type ExistentialType <: Type

    Definition Classes
      Types

37. #### abstract class ExistentialTypeExtractor extends AnyRef

38. #### case class ExistentialTypeTree(tpt: Tree, whereClauses: List[Tree]) extends Tree with TypTree with Product with Serializable

39. #### case class Function(vparams: List[ValDef], body: Tree) extends Tree with TermTree with SymTree with Product with Serializable

    Anonymous function, eliminated by analyzer

40. #### abstract class GenericApply extends Tree with TermTree

41. #### case class Ident(name: Name) extends Tree with RefTree with Product with Serializable

    Identifier <name>

42. #### case class If(cond: Tree, thenp: Tree, elsep: Tree) extends Tree with TermTree with Product with Serializable

    Conditional expression

43. #### abstract class ImplDef extends MemberDef

44. #### case class Import(expr: Tree, selectors: List[ImportSelector]) extends Tree with SymTree with Product with Serializable

    Import clause

45. #### case class ImportSelector(name: Name, namePos: Int, rename: Name, renamePos: Int) extends Product with Serializable

    Import selector

46. #### case class LabelDef(name: TermName, params: List[Ident], rhs: Tree) extends DefTree with TermTree with Product with Serializable

    Labelled expression - the symbols in the array (must be Idents!) are those the label takes as argument

47. #### abstract type LazyType <: Type with AbsLazyType

    Definition Classes
      Types

48. #### trait LibraryCommonNames extends AnyRef

49. #### trait LibraryTermNames extends LibraryCommonNames

50. #### trait LibraryTypeNames extends LibraryCommonNames

51. #### case class Literal(value: Constant) extends Tree with TermTree with Product with Serializable

    Literal

52. #### abstract type LiteralAnnotArg <: ClassfileAnnotArg

    Definition Classes
      AnnotationInfos

53. #### abstract class LiteralAnnotArgExtractor extends AnyRef

54. #### case class Match(selector: Tree, cases: List[CaseDef]) extends Tree with TermTree with Product with Serializable

    - Pattern matching expression (before explicitouter)

55. #### abstract class MemberDef extends DefTree

56. #### abstract type MethodType <: Type

    Definition Classes
      Types

57. #### abstract class MethodTypeExtractor extends AnyRef

58. #### case class Modifiers(flags: Long, privateWithin: Name, annotations: List[Tree], positions: Map[Long, Position]) extends HasFlags with Product with Serializable

59. #### case class ModuleDef(mods: Modifiers, name: TermName, impl: Template) extends ImplDef with Product with Serializable

    Singleton object definition

60. #### abstract type Name >: Null <: AnyRef

    Definition Classes
      Names

61. #### abstract type NestedAnnotArg <: ClassfileAnnotArg

    Definition Classes
      AnnotationInfos

62. #### abstract class NestedAnnotArgExtractor extends AnyRef

63. #### case class New(tpt: Tree) extends Tree with TermTree with Product with Serializable

    Object instantiation One should always use factory method below to build a user level new.

64. #### abstract type NullaryMethodType <: Type

    Definition Classes
      Types

65. #### abstract class NullaryMethodTypeExtractor extends AnyRef

66. #### case class PackageDef(pid: RefTree, stats: List[Tree]) extends MemberDef with Product with Serializable

    Package clause

67. #### abstract type PolyType <: Type

    Definition Classes
      Types

68. #### abstract class PolyTypeExtractor extends AnyRef

69. #### abstract type Position

70. #### trait RefTree extends Tree with SymTree

71. #### abstract type RefinedType <: CompoundType

    Definition Classes
      Types

72. #### abstract class RefinedTypeExtractor extends AnyRef

73. #### case class Return(expr: Tree) extends Tree with TermTree with SymTree with Product with Serializable

    Return expression

74. #### abstract type Scope <: AbsScope

    Definition Classes
      Scopes

75. #### case class Select(qualifier: Tree, name: Name) extends Tree with RefTree with Product with Serializable

    Designator <qualifier> .

76. #### case class SelectFromArray(qualifier: Tree, name: Name, erasure: Type) extends Tree with TermTree with RefTree with Product with Serializable

    Array selection <qualifier> .

77. #### case class SelectFromTypeTree(qualifier: Tree, name: TypeName) extends Tree with TypTree with RefTree with Product with Serializable

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

78. #### abstract type SingleType <: SingletonType

    Definition Classes
      Types

79. #### abstract class SingleTypeExtractor extends AnyRef

80. #### abstract type SingletonType >: Null <: Type

    Definition Classes
      Types

81. #### case class SingletonTypeTree(ref: Tree) extends Tree with TypTree with Product with Serializable

    Singleton type, eliminated by RefCheck

82. #### case class Star(elem: Tree) extends Tree with TermTree with Product with Serializable

    Repetition of pattern, eliminated by explicitouter

83. #### case class Super(qual: Tree, mix: TypeName) extends Tree with TermTree with Product with Serializable

    Super reference, qual = corresponding this reference

84. #### abstract type SuperType <: SingletonType

    Definition Classes
      Types

85. #### abstract class SuperTypeExtractor extends AnyRef

86. #### trait SymTree extends Tree

87. #### abstract type Symbol >: Null <: AbsSymbol

    Definition Classes
      Symbols

88. #### case class Template(parents: List[Tree], self: ValDef, body: List[Tree]) extends Tree with SymTree with Product with Serializable

    Instantiation template of a class or trait

89. #### abstract type TermName <: Name

    Definition Classes
      Names

90. #### trait TermTree extends Tree

91. #### case class This(qual: TypeName) extends Tree with TermTree with SymTree with Product with Serializable

    Self reference

92. #### abstract type ThisType <: SingletonType

    Definition Classes
      Types

93. #### abstract class ThisTypeExtractor extends AnyRef

94. #### case class Throw(expr: Tree) extends Tree with TermTree with Product with Serializable

    Throw expression

95. #### class Traverser extends AnyRef

96. #### abstract class Tree extends Product

97. #### case class Try(block: Tree, catches: List[CaseDef], finalizer: Tree) extends Tree with TermTree with Product with Serializable

98. #### trait TypTree extends Tree

    A tree for a type.

99. #### abstract type Type >: Null <: AbsType

    Definition Classes
      Types

100. #### case class TypeApply(fun: Tree, args: List[Tree]) extends GenericApply with Product with Serializable

     Type application

101. #### abstract type TypeBounds <: Type

     Definition Classes
       Types

102. #### abstract class TypeBoundsExtractor extends AnyRef

103. #### case class TypeBoundsTree(lo: Tree, hi: Tree) extends Tree with TypTree with Product with Serializable

104. #### case class TypeDef(mods: Modifiers, name: TypeName, tparams: List[TypeDef], rhs: Tree) extends MemberDef with Product with Serializable

     Abstract type, type parameter, or type alias

105. #### abstract type TypeName <: Name

     Definition Classes
       Names

106. #### abstract type TypeRef <: Type

     Definition Classes
       Types

107. #### abstract class TypeRefExtractor extends AnyRef

108. #### abstract type TypeTree <: AbsTypeTree

     Definition Classes
       Trees

109. #### abstract class TypeTreeExtractor extends AnyRef

110. #### case class Typed(expr: Tree, tpt: Tree) extends Tree with TermTree with Product with Serializable

     Type annotation, eliminated by explicit outer

111. #### case class UnApply(fun: Tree, args: List[Tree]) extends Tree with TermTree with Product with Serializable

112. #### case class ValDef(mods: Modifiers, name: TermName, tpt: Tree, rhs: Tree) extends ValOrDefDef with Product with Serializable

     Value definition

113. #### abstract class ValOrDefDef extends MemberDef

### Abstract Value Members

1. #### abstract val AnnotatedType: AnnotatedTypeExtractor

   Definition Classes
     Types

2. #### abstract val AnnotationInfo: AnnotationInfoExtractor

   Definition Classes
     AnnotationInfos

3. #### abstract val ArrayAnnotArg: ArrayAnnotArgExtractor

   Definition Classes
     AnnotationInfos

4. #### abstract val ClassInfoType: ClassInfoTypeExtractor

   Definition Classes
     Types

5. #### abstract val ConstantType: ConstantTypeExtractor

   Definition Classes
     Types

6. #### abstract val ExistentialType: ExistentialTypeExtractor

   Definition Classes
     Types

7. #### abstract val LiteralAnnotArg: LiteralAnnotArgExtractor

   Definition Classes
     AnnotationInfos

8. #### abstract val MethodType: MethodTypeExtractor

   Definition Classes
     Types

9. #### abstract val NestedAnnotArg: NestedAnnotArgExtractor

   Definition Classes
     AnnotationInfos

10. #### abstract val NoPosition: Position

11. #### abstract val NoPrefix: Type

    Definition Classes
      Types

12. #### abstract val NoSymbol: Symbol

    Definition Classes
      Symbols

13. #### abstract val NoType: Type

    Definition Classes
      Types

14. #### abstract val NullaryMethodType: NullaryMethodTypeExtractor

    Definition Classes
      Types

15. #### abstract val PolyType: PolyTypeExtractor

    Definition Classes
      Types

16. #### abstract val RefinedType: RefinedTypeExtractor

    Definition Classes
      Types

17. #### abstract val SingleType: SingleTypeExtractor

    Definition Classes
      Types

18. #### abstract val SuperType: SuperTypeExtractor

    Definition Classes
      Types

19. #### abstract val ThisType: ThisTypeExtractor

    Definition Classes
      Types

20. #### abstract val TypeBounds: TypeBoundsExtractor

    Definition Classes
      Types

21. #### abstract val TypeRef: TypeRefExtractor

    Definition Classes
      Types

22. #### abstract val TypeTree: TypeTreeExtractor

    Definition Classes
      Trees

23. #### implicit abstract def classfileAnnotArgManifest: ClassManifest[ClassfileAnnotArg]

    Definition Classes
      AnnotationInfos

24. #### abstract val definitions: AbsDefinitions

    Definition Classes
      StandardDefinitions

25. #### abstract def flagsIntoString(flags: Long, privateWithin: String): String

    Attributes
      protected
    Definition Classes
      Trees

26. #### abstract def isTermName(name: Name): Boolean

    Definition Classes
      Names

27. #### abstract def isTypeName(name: Name): Boolean

    Definition Classes
      Names

28. #### abstract def mkTermName(name: Name): TermName

    Definition Classes
      Names

29. #### abstract def mkTypeName(name: Name): TypeName

    Definition Classes
      Names

30. #### abstract def newScope(): Scope

    Definition Classes
      Scopes

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

    Definition Classes
      Names

32. #### abstract def newTermName(cs: Array[Byte], offset: Int, len: Int): TermName

    Definition Classes
      Names

33. #### abstract def newTermName(cs: Array[Char], offset: Int, len: Int): TermName

    Definition Classes
      Names

34. #### abstract def newTreePrinter(out: PrintWriter): AbsTreePrinter

    Definition Classes
      Trees

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

    Definition Classes
      Names

36. #### abstract def newTypeName(cs: Array[Byte], offset: Int, len: Int): TypeName

    Definition Classes
      Names

37. #### abstract def newTypeName(cs: Array[Char], offset: Int, len: Int): TypeName

    Definition Classes
      Names

38. #### abstract val nme: LibraryTermNames

    Definition Classes
      StdNames

39. #### abstract val tpnme: LibraryTypeNames

    Definition Classes
      StdNames

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

   Equivalent to `x.hashCode` except for boxed numeric types. 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.

   returns

     a hash value consistent with ==

   Definition Classes
     AnyRef → Any

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

   Definition Classes
     AnyRef

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

   Test two objects for equality.

   Test two objects for equality.

   returns

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

   Definition Classes
     Any

6. #### final val BooleanTag: Int(2)

   Definition Classes
     Constants

7. #### final val ByteTag: Int(3)

   Definition Classes
     Constants

8. #### final val CharTag: Int(5)

   Definition Classes
     Constants

9. #### final val ClassTag: Int(12)

   Definition Classes
     Constants

10. #### final val DoubleTag: Int(9)

    Definition Classes
      Constants

11. #### object EmptyTree extends Tree with TermTree with Product with Serializable

    The empty tree

12. #### final val EnumTag: Int(13)

    Definition Classes
      Constants

13. #### final val FloatTag: Int(8)

    Definition Classes
      Constants

14. #### final val IntTag: Int(6)

    Definition Classes
      Constants

15. #### def Literal(value: Any): Literal

    Definition Classes
      Trees

16. #### final val LongTag: Int(7)

    Definition Classes
      Constants

17. #### def Modifiers(flags: Long): Modifiers

    Definition Classes
      Trees

18. #### def Modifiers(flags: Long, privateWithin: Name): Modifiers

    Definition Classes
      Trees

19. #### lazy val NoMods: Modifiers

    Definition Classes
      Trees

20. #### final val NoTag: Int(0)

    Definition Classes
      Constants

21. #### final val NullTag: Int(11)

    Definition Classes
      Constants

22. #### final val ShortTag: Int(4)

    Definition Classes
      Constants

23. #### final val StringTag: Int(10)

    Definition Classes
      Constants

24. #### final val UnitTag: Int(1)

    Definition Classes
      Constants

25. #### 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`.

26. #### 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[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()
    Note

      not specified by SLS as a member of AnyRef

27. #### def encode(str: String): TermName

    Definition Classes
      StdNames

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

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

    The equality method for reference types.

    The equality method for reference types. See equals in Any.

    returns

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

    Definition Classes
      AnyRef → Any

30. #### 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[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()
    Note

      not specified by SLS as a member of AnyRef

31. #### final def getClass(): java.lang.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

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

    The hashCode method for reference types.

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

    returns

      the hash code value for this object.

    Definition Classes
      AnyRef → Any

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

34. #### final val maxTostringRecursions: Int(50)

    The maximum number of recursions allowed in toString

    The maximum number of recursions allowed in toString

    Definition Classes
      Types

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

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

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

38. #### implicit def promoteTermNamesAsNecessary(name: Name): TermName

    Definition Classes
      Names

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

    Definition Classes
      StdNames

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

    Definition Classes
      AnyRef

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

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

    Definition Classes
      AnyRef
    Annotations
      @throws()

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

    Definition Classes
      AnyRef
    Annotations
      @throws()

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

    Definition Classes
      AnyRef
    Annotations
      @throws()

### Inherited from StandardDefinitions

### Inherited from AnnotationInfos

### Inherited from Trees

### Inherited from StdNames

### Inherited from Names

### Inherited from Scopes

### Inherited from Constants

### Inherited from Types

### Inherited from Symbols

### Inherited from AnyRef

### Inherited from Any