ManifestFactory

@nowarn("cat=deprecation&origin=scala\\.reflect\\.ClassManifest(DeprecatedApis.*)?")

ManifestFactory defines factory methods for manifests. It is intended for use by the compiler and should not be used in client code.

Unlike Manifest, this factory isn't annotated with a deprecation warning. This is done to prevent avalanches of deprecation warnings in the code that calls methods with manifests. Why so complicated? Read up the comments for ClassManifestFactory.

Source:
Manifest.scala
class Object
trait Matchable
class Any

Value members

Concrete methods

def abstractType[T](prefix: Manifest[_], name: String, upperBound: Class[_], args: Manifest[_]*): Manifest[T]

Manifest for the abstract type prefix # name.

Manifest for the abstract type prefix # name. upperBound is not strictly necessary as it could be obtained by reflection. It was added so that erasure can be calculated without reflection.

Source:
Manifest.scala
def arrayType[T](arg: Manifest[_]): Manifest[Array[T]]
def classType[T](clazz: Class[_]): Manifest[T]

Manifest for the class type clazz[args], where clazz is a top-level or static class.

Manifest for the class type clazz[args], where clazz is a top-level or static class.

Note:

This no-prefix, no-arguments case is separate because we it's called from ScalaRunTime.boxArray itself. If we pass varargs as arrays into this, we get an infinitely recursive call to boxArray. (Besides, having a separate case is more efficient)

Source:
Manifest.scala
def classType[T](clazz: Class[T], arg1: Manifest[_], args: Manifest[_]*): Manifest[T]

Manifest for the class type clazz, where clazz is a top-level or static class and args are its type arguments.

Manifest for the class type clazz, where clazz is a top-level or static class and args are its type arguments.

Source:
Manifest.scala
def classType[T](prefix: Manifest[_], clazz: Class[_], args: Manifest[_]*): Manifest[T]

Manifest for the class type clazz[args], where clazz is a class with non-package prefix type prefix and type arguments args.

Manifest for the class type clazz[args], where clazz is a class with non-package prefix type prefix and type arguments args.

Source:
Manifest.scala
def intersectionType[T](parents: Manifest[_]*): Manifest[T]

Manifest for the intersection type parents_0 with ... with parents_n.

Manifest for the intersection type parents_0 with ... with parents_n.

Source:
Manifest.scala
def singleType[T <: AnyRef](value: AnyRef): Manifest[T]

Manifest for the singleton type value.type.

Manifest for the singleton type value.type.

Source:
Manifest.scala
def wildcardType[T](lowerBound: Manifest[_], upperBound: Manifest[_]): Manifest[T]

Manifest for the unknown type _ >: L <: U in an existential.

Manifest for the unknown type _ >: L <: U in an existential.

Source:
Manifest.scala

Concrete fields

val Boolean: BooleanManifest
val Byte: ByteManifest
val Char: CharManifest
val Double: DoubleManifest
val Float: FloatManifest
val Int: IntManifest
val Long: LongManifest
val Short: ShortManifest
val Unit: UnitManifest