| // JAVAC_EXPECTED_FILE |
| // See KT-9816, KT-9742 |
| |
| // Not allowed in Java |
| class ZException<!GENERIC_THROWABLE_SUBCLASS!><T><!>(val p: T) : Exception() |
| |
| class YException<!GENERIC_THROWABLE_SUBCLASS!><T><!>(val p: T): java.lang.RuntimeException() |
| |
| class XException<!GENERIC_THROWABLE_SUBCLASS!><T><!>(val p: T): Throwable() |
| |
| fun bar() { |
| try { |
| throw ZException(11) |
| } catch (e: ZException<*>) {} |
| } |
| |
| inline fun <reified E : Exception, R> tryCatch(lazy: () -> R, failure: (E) -> R): R = |
| try { |
| lazy() |
| } catch (<!REIFIED_TYPE_IN_CATCH_CLAUSE!>e: E<!>) { |
| failure(e) |
| } |
| |
| fun <T : Throwable> tryCatch() { |
| try { } catch (<!TYPE_PARAMETER_IN_CATCH_CLAUSE!>e: T<!>) { } |
| } |