Spec-Zone.ru › Scala 3.1

Объект scala.reflect.Manifest

Класс-компаньон • Исходный код

объект Manifest

Объект Manifest определяет методы-фабрики для манифестов. Он предназначен для использования компилятором и не должен использоваться в клиентском коде.

Надтипы
класс Object
тракт Matchable
класс Any
Тип "self"
Manifest.type

Конкретные методы

Исходный код
def abstractType[T](prefix: Manifest[_], name: String, upperBound: Class[_], args: Manifest[_]*): Manifest[T]

Манифест для абстрактного типа prefix # name. upperBound не строго необходим, так как может быть получен с помощью рефлексии. Он был добавлен, чтобы вычисление стирания типов можно было производить без рефлексии.

Исходный код
def arrayType[T](arg: Manifest[_]): Manifest[Array[T]]

Исходный код
def classType[T](clazz: Class[_]) : Manifest[T]

Манифест для типа класса clazz[args], где clazz — это класс верхнего уровня или статический класс.

Примечание

Этот случай без префикса и без аргументов отделен, потому что он вызывается из ScalaRunTime.boxArray. Если мы передаем аргументы как массивы в этот метод, мы получаем бесконечный рекурсивный вызов boxArray. (Кроме того, отдельный случай более эффективен)

Исходный код
def classType[T](clazz: Class[T], arg1: Manifest[_], args: Manifest[_]*): Manifest[T]

Манифест для типа класса clazz, где clazz — это класс верхнего уровня или статический класс, а args — его аргументы типа.

Исходный код
def classType[T](prefix: Manifest[_], clazz: Class[_], args: Manifest[_]*): Manifest[T]

Манифест для типа класса clazz[args], где clazz — класс с префиксом типа prefix и аргументами типа args.

Исходный код
def intersectionType[T](parents: Manifest[_]*): Manifest[T]

Манифест для пересечения типов parents_0 with ... with parents_n.

Исходный код
def singleType[T <: AnyRef](value: AnyRef): Manifest[T]

Манифест для типа одиночки value.type.

Исходный код
def valueManifests: List[AnyValManifest[_]]

Исходный код
def wildcardType[T](lowerBound: Manifest[_], upperBound: Manifest[_]): Manifest[T]

Манифест для неизвестного типа _ >: L <: U в экзистенциальном контексте.

Конкретные поля

Source
val Any: Manifest[Any]

Source
val AnyRef: Manifest[AnyRef]

Source
val AnyVal: Manifest[AnyVal]

Source
val Boolean: BooleanManifest

Source
val Byte: ByteManifest

Source
val Char: CharManifest

Source
val Double: DoubleManifest

Source
val Float: FloatManifest

Source
val Int: IntManifest

Source
val Long: LongManifest

Source
val Nothing: Manifest[Nothing]

Source
val Null: Manifest[Null]

Source
val Object: Manifest[Object]

Source
val Short: ShortManifest

Source
val Unit: UnitManifest

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/reflect/Manifest$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API