diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerSettings.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerSettings.kt index 0bb74cb495b..bd0136a223b 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerSettings.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerSettings.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi class KotlinDebuggerSettings : XDebuggerSettings("kotlin_debugger"), Getter { var renderDelegatedProperties: Boolean = false var disableKotlinInternalClasses: Boolean = true - var isFilterForStdlibAlreadyAdded: Boolean = false var debugDisableCoroutineAgent: Boolean = false companion object { diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/DebuggerFiltersUtil.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/DebuggerFiltersUtil.kt index 6e280f93ec2..e8cebf8c618 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/DebuggerFiltersUtil.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/filter/DebuggerFiltersUtil.kt @@ -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) } diff --git a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/DebuggerPreferenceKey.kt b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/DebuggerPreferenceKey.kt index 38d264553bb..1710a78725b 100644 --- a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/DebuggerPreferenceKey.kt +++ b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/DebuggerPreferenceKey.kt @@ -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) diff --git a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/SettingsMutators.kt b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/SettingsMutators.kt index aa702978312..01937b58b73 100644 --- a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/SettingsMutators.kt +++ b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/preference/SettingsMutators.kt @@ -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> = 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