KTypeProjection
Represents a type projection. Type projection is usually the argument to another type in a type usage.
For example, in the type
Array<out Number>
,
out Number
is the covariant projection of the type represented by the class
Number
.
Type projection is either the star projection, or an entity consisting of a specific type plus optional variance.
See the Kotlin language documentation for more information.
Constructors
Properties
Functions
toString
Returns a string representation of the object.
fun
toString
(
)
:
String
Companion Object Properties
STAR
Star projection, denoted by the
*
character.
For example, in the type
KClass<*>
,
*
is the star projection.
See the
Kotlin language documentation
for more information.
val
STAR
:
KTypeProjection
Companion Object Functions
contravariant
Creates a contravariant projection of a given type, denoted by the
in
modifier applied to a type.
For example, in the type
MutableList<in Number>
,
in Number
is a contravariant projection of the type of class
Number
.
fun
contravariant
(
type
:
KType
)
:
KTypeProjection
covariant
Creates a covariant projection of a given type, denoted by the
out
modifier applied to a type.
For example, in the type
Array<out Number>
,
out Number
is a covariant projection of the type of class
Number
.
fun
covariant
(
type
:
KType
)
:
KTypeProjection
invariant
Creates an invariant projection of a given type. Invariant projection is just the type itself,
without any use-site variance modifiers applied to it.
For example, in the type
Set<String>
,
String
is an invariant projection of the type represented by the class
String
.
fun
invariant
(
type
:
KType
)
:
KTypeProjection