Trait

scala.reflect.api.StandardDefinitions

DefinitionsApi

Related Doc: package StandardDefinitions

Permalink

trait DefinitionsApi extends Universe.StandardTypes

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

Source
StandardDefinitions.scala
Linear Supertypes
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. All

Type Members

  1. abstract class VarArityClassApi extends (Int) ⇒ Universe.Symbol

    Permalink

    Function-like api that lets you acess 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

    Permalink

    The class symbol of core class scala.Any.

  2. abstract def AnyRefClass: Universe.TypeSymbol

    Permalink

    The type symbol of core class scala.AnyRef.

  3. abstract val AnyRefTpe: Universe.Type

    Permalink

    The type of core type AnyRef.

    The type of core type AnyRef.

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

    Permalink

    The type of core type Any.

    The type of core type Any.

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

    Permalink

    The class symbol of core class scala.AnyVal.

  6. abstract val AnyValTpe: Universe.Type

    Permalink

    The type of core type AnyVal.

    The type of core type AnyVal.

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

    Permalink

    The class symbol of class scala.Array.

  8. abstract def ArrayModule: Universe.ModuleSymbol

    Permalink

    The module symbol of module scala.Array.

  9. abstract def ArrayModule_overloadedApply: Universe.TermSymbol

    Permalink

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

  10. abstract def Array_apply: Universe.TermSymbol

    Permalink

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

  11. abstract def Array_clone: Universe.TermSymbol

    Permalink

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

  12. abstract def Array_length: Universe.TermSymbol

    Permalink

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

  13. abstract def Array_update: Universe.TermSymbol

    Permalink

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

  14. abstract def BooleanClass: Universe.ClassSymbol

    Permalink

    The class symbol of primitive class scala.Boolean.

  15. abstract val BooleanTpe: Universe.Type

    Permalink

    The type of primitive type Boolean.

    The type of primitive type Boolean.

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

    Permalink

    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.params(0)(0).info
    res1: reflect.runtime.universe.Type = => scala.Int
    
    scala> showRaw(m.params(0)(0).info)
    res2: String = TypeRef(
        ThisType(scala),
        scala.<byname>, // <-- ByNameParamClass
        List(TypeRef(ThisType(scala), scala.Int, List())))
  17. abstract def ByteClass: Universe.ClassSymbol

    Permalink

    The class symbol of primitive class scala.Byte.

  18. abstract val ByteTpe: Universe.Type

    Permalink

    The type of primitive type Byte.

    The type of primitive type Byte.

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

    Permalink

    The class symbol of primitive class scala.Char.

  20. abstract val CharTpe: Universe.Type

    Permalink

    The type of primitive type Char.

    The type of primitive type Char.

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

    Permalink

    The class symbol of class java.lang.Class.

  22. abstract def DoubleClass: Universe.ClassSymbol

    Permalink

    The class symbol of primitive class scala.Double.

  23. abstract val DoubleTpe: Universe.Type

    Permalink

    The type of primitive type Double.

    The type of primitive type Double.

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

    Permalink

    The class symbol of primitive class scala.Float.

  25. abstract val FloatTpe: Universe.Type

    Permalink

    The type of primitive type Float.

    The type of primitive type Float.

    Definition Classes
    StandardTypes
  26. abstract def FunctionClass: VarArityClassApi

    Permalink

    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

    Permalink

    The class symbol of primitive class scala.Int.

  28. abstract val IntTpe: Universe.Type

    Permalink

    The type of primitive type Int.

    The type of primitive type Int.

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

    Permalink

    The module symbol of package java.lang.

  30. abstract def JavaLangPackageClass: Universe.ClassSymbol

    Permalink

    The module class symbol of package java.lang.

  31. abstract def JavaRepeatedParamClass: Universe.ClassSymbol

    Permalink

    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.params(0)(0).info
    res1: reflect.runtime.universe.Type = <repeated...>[Object]
    
    scala> showRaw(m.params(0)(0).info)
    res2: String = TypeRef(
        ThisType(scala),
        scala.<repeated...>, // <-- JavaRepeatedParamClass
        List(TypeRef(ThisType(java.lang), Object, List())))
  32. abstract def ListClass: Universe.ClassSymbol

    Permalink

    The class symbol of class scala.List.

  33. abstract def ListModule: Universe.ModuleSymbol

    Permalink

    The module symbol of module scala.List.

  34. abstract def List_apply: Universe.TermSymbol

    Permalink

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

  35. abstract def LongClass: Universe.ClassSymbol

    Permalink

    The class symbol of primitive class scala.Long.

  36. abstract val LongTpe: Universe.Type

    Permalink

    The type of primitive type Long.

    The type of primitive type Long.

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

    Permalink

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

  38. abstract def NoneModule: Universe.ModuleSymbol

    Permalink

    The module symbol of module scala.None.

  39. abstract def NothingClass: Universe.ClassSymbol

    Permalink

    The class symbol of core class scala.Nothing.

  40. abstract val NothingTpe: Universe.Type

    Permalink

    The type of core type Nothing.

    The type of core type Nothing.

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

    Permalink

    The class symbol of core class scala.Null.

  42. abstract val NullTpe: Universe.Type

    Permalink

    The type of core type Null.

    The type of core type Null.

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

    Permalink

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

  44. abstract val ObjectTpe: Universe.Type

    Permalink

    The type of core type Object.

    The type of core type Object.

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

    Permalink

    The class symbol of class scala.Option.

  46. abstract def PredefModule: Universe.ModuleSymbol

    Permalink

    The module symbol of module scala.Predef.

  47. abstract def ProductClass: VarArityClassApi

    Permalink

    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

    Permalink

    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.params(0)(0).info
    res1: reflect.runtime.universe.Type = scala.Int*
    
    scala> showRaw(m.params(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]

    Permalink

    Contains Scala numeric value classes:

    Contains Scala numeric value classes:

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

    Permalink

    The module symbol of package scala.

  51. abstract def ScalaPackageClass: Universe.ClassSymbol

    Permalink

    The module class symbol of package scala.

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

    Permalink

    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

    Permalink

    The class symbol of primitive class scala.Short.

  54. abstract val ShortTpe: Universe.Type

    Permalink

    The type of primitive type Short.

    The type of primitive type Short.

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

    Permalink

    The module symbol of module scala.Some.

  56. abstract def StringClass: Universe.ClassSymbol

    Permalink

    The class symbol of class scala.String.

  57. abstract def TupleClass: VarArityClassApi

    Permalink

    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

    Permalink

    The class symbol of primitive class scala.Unit.

  59. abstract val UnitTpe: Universe.Type

    Permalink

    The type of primitive type Unit.

    The type of primitive type Unit.

    Definition Classes
    StandardTypes