/* * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package kotlin.test import kotlin.internal.InlineOnly import kotlin.internal.OnlyInputTypes // TODO: Remove this once we support CLASS_REFERENCE IR node @InlineOnly public inline fun assertFailsWith(message: String? = null, block: () -> Unit): T { var throwable: Throwable? = null try { block() } catch (e: Throwable) { throwable = e } return throwable as? T ?: throw AssertionError("assertFailsWith failed: $message") }