Fix duplicate stepping filter adding on plugin start-up (KT-38628)
Review KT-CR-1301.
This commit is contained in:
-1
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi
|
||||
class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
|
||||
var renderDelegatedProperties: Boolean = false
|
||||
var disableKotlinInternalClasses: Boolean = true
|
||||
var isFilterForStdlibAlreadyAdded: Boolean = false
|
||||
var debugDisableCoroutineAgent: Boolean = false
|
||||
|
||||
companion object {
|
||||
|
||||
+6
-7
@@ -18,18 +18,17 @@ package org.jetbrains.kotlin.idea.debugger.filter
|
||||
|
||||
import com.intellij.debugger.settings.DebuggerSettings
|
||||
import com.intellij.ui.classFilter.ClassFilter
|
||||
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerSettings
|
||||
|
||||
private const val KOTLIN_STDLIB_FILTER = "kotlin.*"
|
||||
|
||||
fun addKotlinStdlibDebugFilterIfNeeded() {
|
||||
if (!KotlinDebuggerSettings.getInstance().isFilterForStdlibAlreadyAdded) {
|
||||
val settings = DebuggerSettings.getInstance()!!
|
||||
val newFilters = (settings.steppingFilters + ClassFilter(KOTLIN_STDLIB_FILTER))
|
||||
val settings = DebuggerSettings.getInstance() ?: return
|
||||
val existingFilters = settings.steppingFilters
|
||||
|
||||
settings.steppingFilters = newFilters
|
||||
|
||||
KotlinDebuggerSettings.getInstance().isFilterForStdlibAlreadyAdded = true
|
||||
if (existingFilters.any { it.pattern == KOTLIN_STDLIB_FILTER }) {
|
||||
return
|
||||
}
|
||||
|
||||
settings.steppingFilters = settings.steppingFilters + ClassFilter(KOTLIN_STDLIB_FILTER)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user