W3cubDocs

/Kotlin

InvocationKind

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
@ExperimentalContracts enum class InvocationKind

Specifies how many times a function invokes its function parameter in place.

See ContractBuilder.callsInPlace for the details of the call-in-place function contract.

Enum Values

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

AT_MOST_ONCE

A function parameter will be invoked one time or not invoked at all.

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

AT_LEAST_ONCE

A function parameter will be invoked one or more times.

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

EXACTLY_ONCE

A function parameter will be invoked exactly one time.

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

UNKNOWN

A function parameter is called in place, but it's unknown how many times it can be called.

Extension Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtLeast

Ensures that this value is not less than the specified minimumValue.

fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtMost

Ensures that this value is not greater than the specified maximumValue.

fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceIn

Ensures that this value lies in the specified range minimumValue..maximumValue.

fun <T : Comparable<T>> T.coerceIn(
    minimumValue: T?, 
    maximumValue: T?
): T

Ensures that this value lies in the specified range.

fun <T : Comparable<T>> T.coerceIn(
    range: ClosedFloatingPointRange<T>
): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

rangeTo

Creates a range from this Comparable value to the specified that value.

operator fun <T : Comparable<T>> T.rangeTo(
    that: T
): ClosedRange<T>

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.contracts/-invocation-kind/index.html