KParameter

JVM
1.0
interface KParameter : KAnnotatedElement
(source)

Represents a parameter passed to a function or a property getter/setter, including this and extension receiver parameters.

Types

JVM
1.0

Kind

Kind represents a particular position of the parameter declaration in the source code, such as an instance, an extension receiver parameter or a value parameter.

enum class Kind

Properties

JVM
1.0

index

0-based index of this parameter in the parameter list of its containing callable.

abstract val index: Int
JVM
1.0

isOptional

true if this parameter is optional and can be omitted when making a call via KCallable.callBy, or false otherwise.

abstract val isOptional: Boolean
JVM
1.1

isVararg

true if this parameter is vararg. See the Kotlin language documentation for more information.

abstract val isVararg: Boolean
JVM
1.0

kind

Kind of this parameter.

abstract val kind: Kind
JVM
1.0

name

Name of this parameter as it was declared in the source code, or null if the parameter has no name or its name is not available at runtime. Examples of nameless parameters include this instance for member functions, extension receiver for extension functions or properties, parameters of Java methods compiled without the debug information, and others.

abstract val name: String?
JVM
1.0

type

Type of this parameter. For a vararg parameter, this is the type of the corresponding array, not the individual element.

abstract val type: KType

Inherited Properties

JVM
1.0

annotations

Annotations which are present on this element.

abstract val annotations: List<Annotation>

Extension Functions

JVM
1.1

findAnnotation

Returns an annotation of the given type on this element.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
JVM
1.7

findAnnotations

Returns all annotations of the given type on this element, including individually applied annotations as well as repeated annotations.

fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations(
    klass: KClass<T>
): List<T>
JVM
1.4

hasAnnotation

Returns true if this element is annotated with an annotation of type T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean