ContractBuilder

Common
JVM
JS
Native
1.3
@ExperimentalContracts interface ContractBuilder
(source)

Provides a scope, where the functions of the contract DSL, such as returns, callsInPlace, etc., can be used to describe the contract of a function.

This type is used as a receiver type of the lambda function passed to the contract function.

See Also

contract

Functions

Common
JVM
JS
Native
1.0

callsInPlace

Specifies that the function parameter lambda is invoked in place.

abstract fun <R> callsInPlace(
    lambda: Function<R>,
    kind: InvocationKind = InvocationKind.UNKNOWN
): CallsInPlace
Common
JVM
JS
Native
1.0

returns

Describes a situation when a function returns normally, without any exceptions thrown.

abstract fun returns(): Returns

Describes a situation when a function returns normally with the specified return value.

abstract fun returns(value: Any?): Returns
Common
JVM
JS
Native
1.0

returnsNotNull

Describes a situation when a function returns normally with any value that is not null.

abstract fun returnsNotNull(): ReturnsNotNull