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> {
|
class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
|
||||||
var renderDelegatedProperties: Boolean = false
|
var renderDelegatedProperties: Boolean = false
|
||||||
var disableKotlinInternalClasses: Boolean = true
|
var disableKotlinInternalClasses: Boolean = true
|
||||||
var isFilterForStdlibAlreadyAdded: Boolean = false
|
|
||||||
var debugDisableCoroutineAgent: Boolean = false
|
var debugDisableCoroutineAgent: Boolean = false
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
+6
-7
@@ -18,18 +18,17 @@ package org.jetbrains.kotlin.idea.debugger.filter
|
|||||||
|
|
||||||
import com.intellij.debugger.settings.DebuggerSettings
|
import com.intellij.debugger.settings.DebuggerSettings
|
||||||
import com.intellij.ui.classFilter.ClassFilter
|
import com.intellij.ui.classFilter.ClassFilter
|
||||||
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerSettings
|
|
||||||
|
|
||||||
private const val KOTLIN_STDLIB_FILTER = "kotlin.*"
|
private const val KOTLIN_STDLIB_FILTER = "kotlin.*"
|
||||||
|
|
||||||
fun addKotlinStdlibDebugFilterIfNeeded() {
|
fun addKotlinStdlibDebugFilterIfNeeded() {
|
||||||
if (!KotlinDebuggerSettings.getInstance().isFilterForStdlibAlreadyAdded) {
|
val settings = DebuggerSettings.getInstance() ?: return
|
||||||
val settings = DebuggerSettings.getInstance()!!
|
val existingFilters = settings.steppingFilters
|
||||||
val newFilters = (settings.steppingFilters + ClassFilter(KOTLIN_STDLIB_FILTER))
|
|
||||||
|
|
||||||
settings.steppingFilters = newFilters
|
if (existingFilters.any { it.pattern == KOTLIN_STDLIB_FILTER }) {
|
||||||
|
return
|
||||||
KotlinDebuggerSettings.getInstance().isFilterForStdlibAlreadyAdded = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 DISABLE_KOTLIN_INTERNAL_CLASSES by debuggerPreferenceKey(false)
|
||||||
val RENDER_DELEGATED_PROPERTIES 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)
|
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.KotlinDebuggerSettings
|
||||||
import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState
|
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.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.RENDER_DELEGATED_PROPERTIES
|
||||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CLASSLOADERS
|
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CLASSLOADERS
|
||||||
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CONSTRUCTORS
|
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),
|
DebuggerSettingsMutator(SKIP_GETTERS, DebuggerSettings::SKIP_GETTERS),
|
||||||
KotlinSettingsMutator(DISABLE_KOTLIN_INTERNAL_CLASSES, KotlinDebuggerSettings::disableKotlinInternalClasses),
|
KotlinSettingsMutator(DISABLE_KOTLIN_INTERNAL_CLASSES, KotlinDebuggerSettings::disableKotlinInternalClasses),
|
||||||
KotlinSettingsMutator(RENDER_DELEGATED_PROPERTIES, KotlinDebuggerSettings::renderDelegatedProperties),
|
KotlinSettingsMutator(RENDER_DELEGATED_PROPERTIES, KotlinDebuggerSettings::renderDelegatedProperties),
|
||||||
KotlinSettingsMutator(IS_FILTER_FOR_STDLIB_ALREADY_ADDED, KotlinDebuggerSettings::isFilterForStdlibAlreadyAdded),
|
|
||||||
KotlinVariablesModeSettingsMutator,
|
KotlinVariablesModeSettingsMutator,
|
||||||
JvmTargetSettingsMutator,
|
JvmTargetSettingsMutator,
|
||||||
ForceRankingSettingsMutator
|
ForceRankingSettingsMutator
|
||||||
|
|||||||
Reference in New Issue
Block a user