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.
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
, where clazz
is
a top-level or static class and args are its type arguments.
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.
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)
Manifest for the intersection type parents_0 with ... with parents_n
.
Manifest for the singleton type value.type
.
Manifest for the unknown type _ >: L <: U
in an existential.
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 forClassManifestFactory
.