Package kotlin.reflect
Runtime API for Kotlin reflection
Types
KAnnotatedElement
Represents an annotated element and allows to obtain its annotations. See the Kotlin language documentation for more information.
interface
KAnnotatedElement
KCallable
Represents a callable entity, such as a function or a property.
interface
KCallable
<
out
R
>
interface
KCallable
<
out
R
>
:
KAnnotatedElement
KClass
Represents a class and provides introspection capabilities.
Instances of this class are obtainable by the
::class
syntax.
See the
Kotlin language documentation
for more information.
interface
KClass
<
T
:
Any
>
:
KClassifier
interface
KClass
<
T
:
Any
>
:
KDeclarationContainer
,
KAnnotatedElement
,
KClassifier
KClassifier
A classifier is either a class or a type parameter.
interface
KClassifier
KDeclarationContainer
Represents an entity which may contain declarations of any other entities, such as a class or a package.
interface
KDeclarationContainer
KMutableProperty
Represents a property declared as a
var
.
interface
KMutableProperty
<
V
>
:
KProperty
<
V
>
KMutableProperty0
Represents a
var
-property without any kind of receiver.
interface
KMutableProperty0
<
V
>
:
KProperty0
<
V
>
,
KMutableProperty
<
V
>
KMutableProperty1
Represents a
var
-property, operations on which take one receiver as a parameter.
interface
KMutableProperty1
<
T
,
V
>
:
KProperty1
<
T
,
V
>
,
KMutableProperty
<
V
>
KMutableProperty2
Represents a
var
-property, operations on which take two receivers as parameters.
interface
KMutableProperty2
<
D
,
E
,
V
>
:
KProperty2
<
D
,
E
,
V
>
,
KMutableProperty
<
V
>
KParameter
Represents a parameter passed to a function or a property getter/setter,
including
this
and extension receiver parameters.
interface
KParameter
:
KAnnotatedElement
KProperty
Represents a property, such as a named
val
or
var
declaration.
Instances of this class are obtainable by the
::
operator.
interface
KProperty
<
out
V
>
:
KCallable
<
V
>
KProperty0
Represents a property without any kind of receiver. Such property is either originally declared in a receiverless context such as a package, or has the receiver bound to it.
interface
KProperty0
<
out
V
>
:
KProperty
<
V
>
,
(
)
->
V
KProperty1
Represents a property, operations on which take one receiver as a parameter.
interface
KProperty1
<
T
,
out
V
>
:
KProperty
<
V
>
,
(
T
)
->
V
KProperty2
Represents a property, operations on which take two receivers as parameters, such as an extension property declared in a class.
interface
KProperty2
<
D
,
E
,
out
V
>
:
KProperty
<
V
>
,
(
D
,
E
)
->
V
KType
Represents a type. Type is usually either a class with optional type arguments, or a type parameter of some declaration, plus nullability.
interface
KType
interface
KType
:
KAnnotatedElement
KTypeParameter
Represents a declaration of a type parameter of a class or a callable. See the Kotlin language documentation for more information.
interface
KTypeParameter
:
KClassifier
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
.
data
class
KTypeProjection
KVariance
Represents variance applied to a type parameter on the declaration site ( declaration-site variance ), or to a type in a projection ( use-site variance ).
enum
class
KVariance
KVisibility
Visibility is an aspect of a Kotlin declaration regulating where that declaration is accessible in the source code.
Visibility can be changed with one of the following modifiers:
public
,
protected
,
internal
,
private
.
enum
class
KVisibility
Annotations
AssociatedObjectKey
Makes the annotated annotation class an associated object key.
annotation
class
AssociatedObjectKey
ExperimentalAssociatedObjects
The experimental marker for associated objects API.
annotation
class
ExperimentalAssociatedObjects
Properties
Functions
findAssociatedObject
If
T
is an @
AssociatedObjectKey
-annotated annotation class and
this
class is annotated with @
T
(
S::class
),
returns object
S
.
fun
<
T
:
Annotation
>
KClass
<
*
>
.
findAssociatedObject
(
)
:
Any
?