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)
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -32,7 +32,6 @@ internal object DebuggerPreferenceKeys {
|
||||
|
||||
val DISABLE_KOTLIN_INTERNAL_CLASSES by debuggerPreferenceKey(false)
|
||||
val RENDER_DELEGATED_PROPERTIES by debuggerPreferenceKey(false)
|
||||
val IS_FILTER_FOR_STDLIB_ALREADY_ADDED by debuggerPreferenceKey(false)
|
||||
|
||||
val FORCE_RANKING by debuggerPreferenceKey(false)
|
||||
|
||||
|
||||
-2
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.idea.debugger.DebuggerUtils
|
||||
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerSettings
|
||||
import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState
|
||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.DISABLE_KOTLIN_INTERNAL_CLASSES
|
||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.IS_FILTER_FOR_STDLIB_ALREADY_ADDED
|
||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.RENDER_DELEGATED_PROPERTIES
|
||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CLASSLOADERS
|
||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CONSTRUCTORS
|
||||
@@ -29,7 +28,6 @@ internal val SettingsMutators: List<SettingsMutator<*>> = listOf(
|
||||
DebuggerSettingsMutator(SKIP_GETTERS, DebuggerSettings::SKIP_GETTERS),
|
||||
KotlinSettingsMutator(DISABLE_KOTLIN_INTERNAL_CLASSES, KotlinDebuggerSettings::disableKotlinInternalClasses),
|
||||
KotlinSettingsMutator(RENDER_DELEGATED_PROPERTIES, KotlinDebuggerSettings::renderDelegatedProperties),
|
||||
KotlinSettingsMutator(IS_FILTER_FOR_STDLIB_ALREADY_ADDED, KotlinDebuggerSettings::isFilterForStdlibAlreadyAdded),
|
||||
KotlinVariablesModeSettingsMutator,
|
||||
JvmTargetSettingsMutator,
|
||||
ForceRankingSettingsMutator
|
||||
|
||||
Reference in New Issue
Block a user