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