Spec-Zone.ru › Kotlin 1.8

Пакет kotlin.contracts

kotlin-stdlib / kotlin.contracts

Экспериментальный DSL для объявления пользовательских контрактов функций.

Типы

Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

CallsInPlace

Эффект вызова функционального параметра на месте.

interface CallsInPlace : Effect
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

ConditionalEffect

Эффект выполнения некоторого условия после наблюдения другого эффекта функции.

interface ConditionalEffect : Effect
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

ContractBuilder

Предоставляет область видимости, где функции DSL контракта, такие как returns, callsInPlace и т. д., могут использоваться для описания контракта функции.

interface ContractBuilder
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

Effect

Представляет эффект вызова функции, либо непосредственно наблюдаемый, например, нормальное возвращение функции, либо побочный эффект, например, вызов лямбда-параметра функции на месте.

interface Effect
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

InvocationKind

Указывает, сколько раз функция вызывает свой функциональный параметр на месте.

enum class InvocationKind
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

Returns

Описывает ситуацию, когда функция возвращает нормальное значение с заданным возвращаемым значением.

interface Returns : SimpleEffect
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

ReturnsNotNull

Описывает ситуацию, когда функция возвращает нормальное значение с любым не-null возвращаемым значением.

interface ReturnsNotNull : SimpleEffect
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

SimpleEffect

Эффект, который может быть прослежен после вызова функции.

interface SimpleEffect : Effect

Аннотации

Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

ExperimentalContracts

Эта метка различает экспериментальный API объявления контракта и используется для включения этой функции при объявлении контрактов пользовательских функций.

annotation class ExperimentalContracts

Функции

Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

contract

Определяет контракт функции.

fun contract(builder: ContractBuilder.() -> Unit)

© 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/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API