diff --git a/libraries/stdlib/src/kotlin/util/Exceptions.kt b/libraries/stdlib/src/kotlin/util/Exceptions.kt index 221c234ba18..3d3c6d39dd0 100644 --- a/libraries/stdlib/src/kotlin/util/Exceptions.kt +++ b/libraries/stdlib/src/kotlin/util/Exceptions.kt @@ -1,33 +1,14 @@ @file:kotlin.jvm.JvmMultifileClass @file:kotlin.jvm.JvmName("ExceptionsKt") @file:kotlin.jvm.JvmVersion -@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") +@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN", "DeprecatedCallableAddReplaceWith") package kotlin -import java.io.PrintStream -import java.io.PrintWriter - -/** - * Prints the stack trace of this throwable to the standard output. - */ -@kotlin.internal.InlineOnly -public inline fun Throwable.printStackTrace(): Unit = (this as java.lang.Throwable).printStackTrace() - -/** - * Prints the stack trace of this throwable to the specified [writer]. - */ -@kotlin.internal.InlineOnly -public inline fun Throwable.printStackTrace(writer: PrintWriter): Unit = (this as java.lang.Throwable).printStackTrace(writer) - -/** - * Prints the stack trace of this throwable to the specified [stream]. - */ -@kotlin.internal.InlineOnly -public inline fun Throwable.printStackTrace(stream: PrintStream): Unit = (this as java.lang.Throwable).printStackTrace(stream) /** * Returns an array of stack trace elements representing the stack trace * pertaining to this throwable. */ +@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) public val Throwable.stackTrace: Array - get() = (this as java.lang.Throwable).stackTrace!! + get() = stackTrace!! diff --git a/libraries/stdlib/test/ExceptionTest.kt b/libraries/stdlib/test/ExceptionTest.kt index 46348c65aa8..17e0f903a2b 100644 --- a/libraries/stdlib/test/ExceptionTest.kt +++ b/libraries/stdlib/test/ExceptionTest.kt @@ -41,4 +41,12 @@ class ExceptionTest { val bytes = assertNotNull(byteBuffer.toByteArray()) assertTrue(bytes.size > 10) } + + @test fun changeStackTrace() { + val exception = RuntimeException("Fail") + var stackTrace = exception.stackTrace + stackTrace = stackTrace.dropLast(1).toTypedArray() + exception.stackTrace = stackTrace + assertArrayNotSameButEquals(stackTrace, exception.stackTrace) + } } diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib.txt index 6a4a122d325..47547114797 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib.txt @@ -1,5 +1,5 @@ public final class kotlin/ExceptionsKt { - public static final fun getStackTrace (Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement; + public static final synthetic fun getStackTrace (Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement; } public abstract interface class kotlin/Lazy {