Scala Reflection Library2.13.9 < Back


# Packages

-  package root
  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package reflect
  Definition Classes
    scala
-  package api

  EXPERIMENTAL

  EXPERIMENTAL

  The Scala Reflection API (located in scala-reflect.jar).

  In Scala 2.10.0, the Scala Reflection API and its implementation have an "experimental" status. This means that the API and the docs are not complete and can be changed in binary- and source-incompatible manner in 2.10.1. This also means that the implementation has some known issues.

  The following types are the backbone of the Scala Reflection API, and serve as a good starting point for information about Scala Reflection:

  - scala.reflect.api.Symbols
  - scala.reflect.api.Types
  - scala.reflect.api.Mirrors
  - scala.reflect.api.Universe

  For more information about Scala Reflection, see the Reflection Guide

  Definition Classes
    reflect
-  trait StandardDefinitions extends AnyRef

  EXPERIMENTAL

  EXPERIMENTAL

  All Scala standard symbols and types.

  These standard definitions can accessed to using `definitions`. They're typically imported with a wildcard import, `import definitions._`, and are listed in scala.reflect.api.StandardDefinitions#DefinitionsApi.

  Definition Classes
    api
- DefinitionsApi
- StandardTypes

t

scala.reflect.api.StandardDefinitions

# DefinitionsApi

###

#### trait DefinitionsApi extends Universe.StandardTypes

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

Source
  StandardDefinitions.scala

Linear Supertypes
Universe.StandardTypes, AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. DefinitionsApi
2. StandardTypes
3. AnyRef
4. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Type Members

1.  abstract class VarArityClassApi extends (Int) => Universe.Symbol

   Function-like api that lets you access symbol of the definition with given arity and also look through all known symbols via `seq`.

### Abstract Value Members

1.  abstract def AnyClass: Universe.ClassSymbol

   The class symbol of core class `scala.Any`.

2.  abstract def AnyRefClass: Universe.TypeSymbol

   The type symbol of core class `scala.AnyRef`.

3.  abstract val AnyRefTpe: Universe.Type

   The type of core type `AnyRef`.

   The type of core type `AnyRef`.

   Definition Classes
     StandardTypes
4.  abstract val AnyTpe: Universe.Type

   The type of core type `Any`.

   The type of core type `Any`.

   Definition Classes
     StandardTypes
5.  abstract def AnyValClass: Universe.ClassSymbol

   The class symbol of core class `scala.AnyVal`.

6.  abstract val AnyValTpe: Universe.Type

   The type of core type `AnyVal`.

   The type of core type `AnyVal`.

   Definition Classes
     StandardTypes
7.  abstract def ArrayClass: Universe.ClassSymbol

   The class symbol of class `scala.Array`.

8.  abstract def ArrayModule: Universe.ModuleSymbol

   The module symbol of module `scala.Array`.

9.  abstract def ArrayModule_overloadedApply: Universe.TermSymbol

   The method symbol of method `apply` in module `scala.Array`.

10.  abstract def Array_apply: Universe.TermSymbol

    The method symbol of method `apply` in class `scala.Array`.

11.  abstract def Array_clone: Universe.TermSymbol

    The method symbol of method `clone` in class `scala.Array`.

12.  abstract def Array_length: Universe.TermSymbol

    The method symbol of method `length` in class `scala.Array`.

13.  abstract def Array_update: Universe.TermSymbol

    The method symbol of method `update` in class `scala.Array`.

14.  abstract def BooleanClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Boolean`.

15.  abstract val BooleanTpe: Universe.Type

    The type of primitive type `Boolean`.

    The type of primitive type `Boolean`.

    Definition Classes
      StandardTypes
16.  abstract def ByNameParamClass: Universe.ClassSymbol

    A dummy class symbol that is used to indicate by-name parameters.

    A dummy class symbol that is used to indicate by-name parameters.

        scala> class C { def m(x: => Int) = ??? }
        defined class C

        scala> import scala.reflect.runtime.universe._
        import scala.reflect.runtime.universe._

        scala> val m = typeOf[C].member(TermName("m")).asMethod
        m: reflect.runtime.universe.MethodSymbol = method m

        scala> m.paramLists(0)(0).info
        res1: reflect.runtime.universe.Type = => scala.Int

        scala> showRaw(m.paramLists(0)(0).info)
        res2: String = TypeRef(
            ThisType(scala),
            scala.<byname>, // <-- ByNameParamClass
            List(TypeRef(ThisType(scala), scala.Int, List())))

17.  abstract def ByteClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Byte`.

18.  abstract val ByteTpe: Universe.Type

    The type of primitive type `Byte`.

    The type of primitive type `Byte`.

    Definition Classes
      StandardTypes
19.  abstract def CharClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Char`.

20.  abstract val CharTpe: Universe.Type

    The type of primitive type `Char`.

    The type of primitive type `Char`.

    Definition Classes
      StandardTypes
21.  abstract def ClassClass: Universe.ClassSymbol

    The class symbol of class `java.lang.Class`.

22.  abstract def DoubleClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Double`.

23.  abstract val DoubleTpe: Universe.Type

    The type of primitive type `Double`.

    The type of primitive type `Double`.

    Definition Classes
      StandardTypes
24.  abstract def FloatClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Float`.

25.  abstract val FloatTpe: Universe.Type

    The type of primitive type `Float`.

    The type of primitive type `Float`.

    Definition Classes
      StandardTypes
26.  abstract def FunctionClass: VarArityClassApi

    Function-like object that maps arity to symbols for classes `scala.FunctionX`.

    Function-like object that maps arity to symbols for classes `scala.FunctionX`.

    - 0th element is `Function0`
    - 1st element is `Function1`
    - ...
    - 22nd element is `Function22`
    - 23nd element is `NoSymbol`
    - ...
27.  abstract def IntClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Int`.

28.  abstract val IntTpe: Universe.Type

    The type of primitive type `Int`.

    The type of primitive type `Int`.

    Definition Classes
      StandardTypes
29.  abstract def JavaLangPackage: Universe.ModuleSymbol

    The module symbol of package `java.lang`.

30.  abstract def JavaLangPackageClass: Universe.ClassSymbol

    The module class symbol of package `java.lang`.

31.  abstract def JavaRepeatedParamClass: Universe.ClassSymbol

    A dummy class symbol that is used to indicate repeated parameters compiled by the Java compiler.

    A dummy class symbol that is used to indicate repeated parameters compiled by the Java compiler.

        class C {
          public void m(Object... x) {}
        }

        scala> import scala.reflect.runtime.universe._
        import scala.reflect.runtime.universe._

        scala> val m = typeOf[C].member(TermName("m")).asMethod
        m: reflect.runtime.universe.MethodSymbol = method m

        scala> m.paramLists(0)(0).info
        res1: reflect.runtime.universe.Type = <repeated...>[Object]

        scala> showRaw(m.paramLists(0)(0).info)
        res2: String = TypeRef(
            ThisType(scala),
            scala.<repeated...>, // <-- JavaRepeatedParamClass
            List(TypeRef(ThisType(java.lang), Object, List())))

32.  abstract def ListClass: Universe.ClassSymbol

    The class symbol of class `scala.List`.

33.  abstract def ListModule: Universe.ModuleSymbol

    The module symbol of module `scala.List`.

34.  abstract def List_apply: Universe.TermSymbol

    The method symbol of method `apply` in class `scala.List`.

35.  abstract def LongClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Long`.

36.  abstract val LongTpe: Universe.Type

    The type of primitive type `Long`.

    The type of primitive type `Long`.

    Definition Classes
      StandardTypes
37.  abstract def NilModule: Universe.ModuleSymbol

    The module symbol of module `scala.collection.immutable.Nil`.

38.  abstract def NoneModule: Universe.ModuleSymbol

    The module symbol of module `scala.None`.

39.  abstract def NothingClass: Universe.ClassSymbol

    The class symbol of core class `scala.Nothing`.

40.  abstract val NothingTpe: Universe.Type

    The type of core type `Nothing`.

    The type of core type `Nothing`.

    Definition Classes
      StandardTypes
41.  abstract def NullClass: Universe.ClassSymbol

    The class symbol of core class `scala.Null`.

42.  abstract val NullTpe: Universe.Type

    The type of core type `Null`.

    The type of core type `Null`.

    Definition Classes
      StandardTypes
43.  abstract def ObjectClass: Universe.ClassSymbol

    The class symbol of core class `java.lang.Object`.

44.  abstract val ObjectTpe: Universe.Type

    The type of core type `Object`.

    The type of core type `Object`.

    Definition Classes
      StandardTypes
45.  abstract def OptionClass: Universe.ClassSymbol

    The class symbol of class `scala.Option`.

46.  abstract def PredefModule: Universe.ModuleSymbol

    The module symbol of module `scala.Predef`.

47.  abstract def ProductClass: VarArityClassApi

    Function-like object that maps arity to symbols for classes `scala.ProductX`.

    Function-like object that maps arity to symbols for classes `scala.ProductX`.

    - 0th element is `Unit`
    - 1st element is `Product1`
    - ...
    - 22nd element is `Product22`
    - 23nd element is `NoSymbol`
    - ...
48.  abstract def RepeatedParamClass: Universe.ClassSymbol

    A dummy class symbol that is used to indicate repeated parameters compiled by the Scala compiler.

    A dummy class symbol that is used to indicate repeated parameters compiled by the Scala compiler.

        scala> class C { def m(x: Int*) = ??? }
        defined class C

        scala> import scala.reflect.runtime.universe._
        import scala.reflect.runtime.universe._

        scala> val m = typeOf[C].member(TermName("m")).asMethod
        m: reflect.runtime.universe.MethodSymbol = method m

        scala> m.paramLists(0)(0).info
        res1: reflect.runtime.universe.Type = scala.Int*

        scala> showRaw(m.paramLists(0)(0).info)
        res2: String = TypeRef(
            ThisType(scala),
            scala.<repeated>, // <-- RepeatedParamClass
            List(TypeRef(ThisType(scala), scala.Int, List())))

49.  abstract def ScalaNumericValueClasses: List[Universe.ClassSymbol]

    Contains Scala numeric value classes:

    Contains Scala numeric value classes:

    - Byte
    - Short
    - Int
    - Long
    - Float
    - Double
    - Char
50.  abstract def ScalaPackage: Universe.ModuleSymbol

    The module symbol of package `scala`.

51.  abstract def ScalaPackageClass: Universe.ClassSymbol

    The module class symbol of package `scala`.

52.  abstract def ScalaPrimitiveValueClasses: List[Universe.ClassSymbol]

    Contains Scala primitive value classes:

    Contains Scala primitive value classes:

    - Byte
    - Short
    - Int
    - Long
    - Float
    - Double
    - Char
    - Boolean
    - Unit
53.  abstract def ShortClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Short`.

54.  abstract val ShortTpe: Universe.Type

    The type of primitive type `Short`.

    The type of primitive type `Short`.

    Definition Classes
      StandardTypes
55.  abstract def SomeModule: Universe.ModuleSymbol

    The module symbol of module `scala.Some`.

56.  abstract def StringClass: Universe.ClassSymbol

    The class symbol of class `scala.String`.

57.  abstract def TupleClass: VarArityClassApi

    Function-like object that maps arity to symbols for classes `scala.TupleX`.

    Function-like object that maps arity to symbols for classes `scala.TupleX`.

    - 0th element is `NoSymbol`
    - 1st element is `Tuple1`
    - ...
    - 22nd element is `Tuple22`
    - 23nd element is `NoSymbol`
    - ...
58.  abstract def UnitClass: Universe.ClassSymbol

    The class symbol of primitive class `scala.Unit`.

59.  abstract val UnitTpe: Universe.Type

    The type of primitive type `Unit`.

    The type of primitive type `Unit`.

    Definition Classes
      StandardTypes

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toany2stringadd[Universe.DefinitionsApi] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (Universe.DefinitionsApi, B)
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toArrowAssoc[Universe.DefinitionsApi] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
8.  def ensuring(cond: (Universe.DefinitionsApi) => Boolean, msg: => Any): Universe.DefinitionsApi
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toEnsuring[Universe.DefinitionsApi] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
9.  def ensuring(cond: (Universe.DefinitionsApi) => Boolean): Universe.DefinitionsApi
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toEnsuring[Universe.DefinitionsApi] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
10.  def ensuring(cond: Boolean, msg: => Any): Universe.DefinitionsApi
    Implicit
      This member is added by an implicit conversion from Universe.DefinitionsApi toEnsuring[Universe.DefinitionsApi] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
11.  def ensuring(cond: Boolean): Universe.DefinitionsApi
    Implicit
      This member is added by an implicit conversion from Universe.DefinitionsApi toEnsuring[Universe.DefinitionsApi] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
12.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
14.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
15.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
16.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
17.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
18.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
19.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
20.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
21.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
22.  def toString(): String
    Definition Classes
      AnyRef → Any
23.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
24.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
25.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toStringFormat[Universe.DefinitionsApi] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (Universe.DefinitionsApi, B)
   Implicit
     This member is added by an implicit conversion from Universe.DefinitionsApi toArrowAssoc[Universe.DefinitionsApi] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from Universe.StandardTypes

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromUniverse.DefinitionsApi to any2stringadd[Universe.DefinitionsApi]

### Inherited by implicit conversion StringFormat fromUniverse.DefinitionsApi to StringFormat[Universe.DefinitionsApi]

### Inherited by implicit conversion Ensuring fromUniverse.DefinitionsApi to Ensuring[Universe.DefinitionsApi]

### Inherited by implicit conversion ArrowAssoc fromUniverse.DefinitionsApi to ArrowAssoc[Universe.DefinitionsApi]

### Ungrouped