Пакет kotlin.contracts
Экспериментальный DSL для объявления пользовательских контрактов функций.
Типы
CallsInPlace
Эффект вызова функционального параметра на месте.
interface CallsInPlace : Effect
ConditionalEffect
Эффект, когда некоторое условие истинно после наблюдения другого эффекта функции.
interface ConditionalEffect : Effect
ContractBuilder
Предоставляет область видимости, где функции DSL контракта, такие как returns, callsInPlace и т. д., могут использоваться для описания контракта функции.
interface ContractBuilder
Effect
Представляет эффект вызова функции, либо непосредственно наблюдаемый, например, нормальное возвращение функции, либо побочный эффект, такой как вызов лямбда-параметра функции на месте.
interface Effect
InvocationKind
Указывает, сколько раз функция вызывает свой функциональный параметр на месте.
enum class InvocationKind
Returns
Описывает ситуацию, когда функция нормально возвращает значение.
interface Returns : SimpleEffect
ReturnsNotNull
Описывает ситуацию, когда функция нормально возвращает любое не-null значение.
interface ReturnsNotNull : SimpleEffect
SimpleEffect
Эффект, который может быть наблюден после вызова функции.
interface SimpleEffect : Effect
Аннотации
ExperimentalContracts
Этот маркер различает экспериментальный API объявления контрактов и используется для включения этой функции при объявлении контрактов пользовательских функций.
annotation class ExperimentalContracts
Функции
contract
Определяет контракт функции.
fun contract(builder: ContractBuilder.() -> Unit)
© 2010–2022 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/index.html