Add contract to checkNotNull overload without message

^KT-25303 Fixed
This commit is contained in:
Dmitry Savvinov
2018-07-26 13:32:29 +03:00
parent 952f67dafc
commit a81fc9e9bc
3 changed files with 15 additions and 4 deletions
@@ -22,7 +22,12 @@ fun testCheckWithFailingMessage(x: Any?) {
<!DEBUG_INFO_SMARTCAST!>x<!>.length
}
fun tesCheckNotNullWithMessage(x: Int?) {
checkNotNull(x) { "x is null!"}
fun testCheckNotNullWithMessage(x: Int?) {
checkNotNull(x) { "x is null!" }
<!DEBUG_INFO_SMARTCAST!>x<!>.inc()
}
fun testCheckNotNull(x: Int?) {
checkNotNull(x)
<!DEBUG_INFO_SMARTCAST!>x<!>.inc()
}
@@ -1,6 +1,7 @@
package
public fun tesCheckNotNullWithMessage(/*0*/ x: kotlin.Int?): kotlin.Unit
public fun testCheckNotNull(/*0*/ x: kotlin.Int?): kotlin.Unit
public fun testCheckNotNullWithMessage(/*0*/ x: kotlin.Int?): kotlin.Unit
public fun testCheckSmartcast(/*0*/ x: kotlin.Any?): kotlin.Unit
public fun testCheckUnreachableCode(): kotlin.Unit
public fun testCheckWithFailingMessage(/*0*/ x: kotlin.Any?): kotlin.Unit
@@ -106,7 +106,12 @@ public inline fun check(value: Boolean, lazyMessage: () -> Any): Unit {
* @sample samples.misc.Preconditions.failCheckWithLazyMessage
*/
@kotlin.internal.InlineOnly
public inline fun <T : Any> checkNotNull(value: T?): T = checkNotNull(value) { "Required value was null." }
public inline fun <T : Any> checkNotNull(value: T?): T {
contract {
returns() implies (value != null)
}
return checkNotNull(value) { "Required value was null." }
}
/**
* Throws an [IllegalStateException] with the result of calling [lazyMessage] if the [value] is null. Otherwise