From a9e1aa1ce4cdd99aaaef7ac34100c70867dcdb10 Mon Sep 17 00:00:00 2001 From: Will Buck Date: Wed, 18 Nov 2020 11:22:18 -0600 Subject: [PATCH] Modifies CompletableFutureContinuation to implement kotlin debug class CoroutineStackFrame (#4438) (#4544) --- .../micronaut/aop/util/CompletableFutureContinuation.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/aop/src/main/kotlin/io/micronaut/aop/util/CompletableFutureContinuation.kt b/aop/src/main/kotlin/io/micronaut/aop/util/CompletableFutureContinuation.kt index eb84e330a49..6dcc8ab6b74 100644 --- a/aop/src/main/kotlin/io/micronaut/aop/util/CompletableFutureContinuation.kt +++ b/aop/src/main/kotlin/io/micronaut/aop/util/CompletableFutureContinuation.kt @@ -20,6 +20,7 @@ import io.micronaut.core.annotation.Internal import java.util.concurrent.CompletableFuture import kotlin.coroutines.Continuation import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.jvm.internal.CoroutineStackFrame /** * Continuation represented as CompletableFuture @@ -29,10 +30,15 @@ import kotlin.coroutines.CoroutineContext */ @Internal @Experimental -class CompletableFutureContinuation(private val continuation: Continuation) : Continuation { +class CompletableFutureContinuation(private val continuation: Continuation) : Continuation, CoroutineStackFrame { var completableFuture = CompletableFuture() + override val callerFrame: CoroutineStackFrame? + get() = continuation as? CoroutineStackFrame + + override fun getStackTraceElement(): StackTraceElement? = null + override val context: CoroutineContext get() = continuation.context