KParameter
Represents a parameter passed to a function or a property getter/setter,
including this
and extension receiver parameters.
Types
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
index
0-based index of this parameter in the parameter list of its containing callable.
abstract val index: Int
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
isVararg
true
if this parameter is vararg
.
See the Kotlin language documentation
for more information.
abstract val isVararg: Boolean
kind
Kind of this parameter.
abstract val kind: Kind
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?
Inherited Properties
annotations
Annotations which are present on this element.
abstract val annotations: List<Annotation>
Extension Functions
findAnnotation
Returns an annotation of the given type on this element.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
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>
hasAnnotation
Returns true if this element is annotated with an annotation of type T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean