store firstSyntheticSuspendProcessed flag per VM

This commit is contained in:
Vladimir Krivosheev
2016-02-26 12:19:26 +01:00
parent 3b42c1880b
commit 7c86eee7c4
3 changed files with 11 additions and 4 deletions
+3 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*/
package org.jetbrains.debugger
import com.intellij.openapi.util.UserDataHolderEx
import org.jetbrains.concurrency.resolvedPromise
interface AttachStateManager {
@@ -24,7 +25,7 @@ interface AttachStateManager {
get() = true
}
interface Vm {
interface Vm : UserDataHolderEx {
val debugListener: DebugEventListener
val attachStateManager: AttachStateManager
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,7 +15,9 @@
*/
package org.jetbrains.debugger
abstract class VmBase(override val debugListener: DebugEventListener) : Vm, AttachStateManager {
import com.intellij.openapi.util.UserDataHolderBase
abstract class VmBase(override val debugListener: DebugEventListener) : Vm, AttachStateManager, UserDataHolderBase() {
override val evaluateContext by lazy(LazyThreadSafetyMode.NONE) { computeEvaluateContext() }
override val attachStateManager: AttachStateManager = this
@@ -181,6 +181,10 @@ abstract class DebugProcessImpl<C : VmConnection<*>>(session: XDebugSession,
urlToFileCache.putIfAbsent(url, file)
}
// go plugin compatibility
@Suppress("unused")
open fun getLocationsForBreakpoint(breakpoint: XLineBreakpoint<*>): List<Location> = getLocationsForBreakpoint(vm!!, breakpoint)
open fun getLocationsForBreakpoint(vm: Vm, breakpoint: XLineBreakpoint<*>): List<Location> = throw UnsupportedOperationException()
override fun isLibraryFrameFilterSupported() = true