ManifestFactory

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

ManifestFactory defines factory methods for manifests.

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.

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.

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)

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.

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.

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.

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

Manifest for the singleton type value.type.

Manifest for the singleton type value.type.

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.