// LANGUAGE_VERSION: 1.3 @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") package test import kotlin.internal.contracts.* // this tests specifically use primitive condition (predicate/value) as the // first argument of sequence, so that it would be optimized and embedded into message fun embedVariable(x: Any, b: Boolean) { contract { returns() implies (b && x is String) } } fun embedInstancePredicate(x: Any, y: Any?) { contract { returns() implies (x is String && y is String) } } fun embedNullCheckPredicate(x: Any?, y: Int?) { contract { returns() implies (y != null && x is String) } } fun Boolean.embedReceiverReference(b: Boolean) { contract { returns() implies (!this@embedReceiverReference && b) } }