diff --git a/runtime/src/main/kotlin/kotlin/Throwable.kt b/runtime/src/main/kotlin/kotlin/Throwable.kt index da433fb5ef2..6ceaaca044a 100644 --- a/runtime/src/main/kotlin/kotlin/Throwable.kt +++ b/runtime/src/main/kotlin/kotlin/Throwable.kt @@ -32,11 +32,18 @@ public open class Throwable(open val message: String?, open val cause: Throwable getStackTraceStrings(stackTrace).freeze() } + /** + * Returns an array of stack trace strings representing the stack trace + * pertaining to this throwable. + */ public fun getStackTrace(): Array = stackTraceStrings - internal fun Throwable.getStackTraceAddressesInternal(): List = + internal fun getStackTraceAddressesInternal(): List = (0 until stackTrace.size).map { index -> stackTrace[index].toLong() } + /** + * Prints the stack trace of this throwable to the standard output. + */ public fun printStackTrace(): Unit = dumpStackTrace { println(it) } internal fun dumpStackTrace(): String = buildString { diff --git a/runtime/src/main/kotlin/kotlin/native/ThrowableExtensions.kt b/runtime/src/main/kotlin/kotlin/native/ThrowableExtensions.kt index 7093cf861d5..57d4548effd 100644 --- a/runtime/src/main/kotlin/kotlin/native/ThrowableExtensions.kt +++ b/runtime/src/main/kotlin/kotlin/native/ThrowableExtensions.kt @@ -4,5 +4,9 @@ */ package kotlin.native +/** + * Returns a list of stack trace addresses representing the stack trace + * pertaining to this throwable. + */ public fun Throwable.getStackTraceAddresses(): List = this.getStackTraceAddressesInternal()