From e5200753708274a96fe3036305d1b0696dce7022 Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Wed, 29 Jul 2020 12:21:06 +0200 Subject: Move `testApi.utils` to `org.jetbrains.dokka.testApi.utils` --- .../jetbrains/dokka/testApi/utils/assertIsInstance.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 testApi/src/main/kotlin/org/jetbrains/dokka/testApi/utils/assertIsInstance.kt (limited to 'testApi/src/main/kotlin/org') diff --git a/testApi/src/main/kotlin/org/jetbrains/dokka/testApi/utils/assertIsInstance.kt b/testApi/src/main/kotlin/org/jetbrains/dokka/testApi/utils/assertIsInstance.kt new file mode 100644 index 00000000..00c00ebb --- /dev/null +++ b/testApi/src/main/kotlin/org/jetbrains/dokka/testApi/utils/assertIsInstance.kt @@ -0,0 +1,17 @@ +package org.jetbrains.dokka.testApi.utils + +import kotlin.contracts.ExperimentalContracts +import kotlin.contracts.contract + +@OptIn(ExperimentalContracts::class) +inline fun assertIsInstance(obj: Any?): T { + contract { + returns() implies (obj is T) + } + + if (obj is T) { + return obj + } + + throw AssertionError("Expected instance of type ${T::class.qualifiedName} but found $obj") +} -- cgit