From 133f021b266f2469fc12c2fbae3ff7651a18bfac Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 21 Feb 2019 16:45:36 +0300 Subject: [PATCH] Async stack traces: Fix compilation on IDEA 182 and older AS versions --- .../KotlinCoroutinesAsyncStackTraceProvider.kt | 3 +-- ...KotlinCoroutinesAsyncStackTraceProviderBase.kt | 15 +++++++++++++++ ...inCoroutinesAsyncStackTraceProviderBase.kt.182 | 14 ++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt create mode 100644 idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt.182 diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProvider.kt index a1c6406076d..19b9cb7f8f3 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProvider.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.idea.debugger import com.intellij.debugger.DebuggerContext -import com.intellij.debugger.engine.AsyncStackTraceProvider import com.intellij.debugger.engine.JavaStackFrame import com.intellij.debugger.engine.JavaValue import com.intellij.debugger.engine.SuspendContextImpl @@ -24,7 +23,7 @@ import org.jetbrains.kotlin.idea.debugger.evaluate.variables.VariableFinder.Comp import org.jetbrains.kotlin.idea.debugger.evaluate.getInvokePolicy import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull -class KotlinCoroutinesAsyncStackTraceProvider : AsyncStackTraceProvider { +class KotlinCoroutinesAsyncStackTraceProvider : KotlinCoroutinesAsyncStackTraceProviderBase { private companion object { const val DEBUG_METADATA_KT = "kotlin.coroutines.jvm.internal.DebugMetadataKt" diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt new file mode 100644 index 00000000000..e3359a59f69 --- /dev/null +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.debugger + +import com.intellij.debugger.engine.AsyncStackTraceProvider +import com.intellij.debugger.engine.JavaStackFrame +import com.intellij.debugger.engine.SuspendContextImpl +import com.intellij.debugger.memory.utils.StackFrameItem + +interface KotlinCoroutinesAsyncStackTraceProviderBase : AsyncStackTraceProvider { + override fun getAsyncStackTrace(stackFrame: JavaStackFrame, suspendContext: SuspendContextImpl): List? +} \ No newline at end of file diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt.182 b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt.182 new file mode 100644 index 00000000000..82db128f268 --- /dev/null +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/KotlinCoroutinesAsyncStackTraceProviderBase.kt.182 @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.debugger + +import com.intellij.debugger.engine.JavaStackFrame +import com.intellij.debugger.engine.SuspendContextImpl +import com.intellij.debugger.memory.utils.StackFrameItem + +interface KotlinCoroutinesAsyncStackTraceProviderBase { + fun getAsyncStackTrace(stackFrame: JavaStackFrame, suspendContext: SuspendContextImpl): List? +} \ No newline at end of file