Debugger: Disable value rendering in watches by default (KT-19084)
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi
|
|||||||
|
|
||||||
@State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage("kotlin_debug.xml")))
|
@State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage("kotlin_debug.xml")))
|
||||||
class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
|
class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
|
||||||
var DEBUG_RENDER_DELEGATED_PROPERTIES: Boolean = true
|
var DEBUG_RENDER_DELEGATED_PROPERTIES: Boolean = false
|
||||||
var DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES: Boolean = true
|
var DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES: Boolean = true
|
||||||
var DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED: Boolean = false
|
var DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED: Boolean = false
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
@@ -14,3 +14,4 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
Vendored
+2
@@ -23,5 +23,7 @@ class MyDelegateThrowsException {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
|
|
||||||
// SKIP: suppressedExceptions
|
// SKIP: suppressedExceptions
|
||||||
// SKIP: stackTrace
|
// SKIP: stackTrace
|
||||||
|
|||||||
+2
@@ -24,5 +24,7 @@ class MyDelegateThrowsException {
|
|||||||
|
|
||||||
// SHOW_KOTLIN_VARIABLES
|
// SHOW_KOTLIN_VARIABLES
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
|
|
||||||
// SKIP: suppressedExceptions
|
// SKIP: suppressedExceptions
|
||||||
// SKIP: stackTrace
|
// SKIP: stackTrace
|
||||||
|
|||||||
+1
@@ -19,3 +19,4 @@ class MyDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
+1
-1
@@ -17,5 +17,5 @@ class MyDelegate {
|
|||||||
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
|
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
// RENDER_DELEGATED_PROPERTIES: false
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
+2
-1
@@ -6,8 +6,9 @@ Compile bytecode for args.size
|
|||||||
frame = main:9, DelegatedPropertyInClassWoRendererKt {delegatedPropertyInClassWoRenderer}
|
frame = main:9, DelegatedPropertyInClassWoRendererKt {delegatedPropertyInClassWoRenderer}
|
||||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 6)
|
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 6)
|
||||||
local = a: delegatedPropertyInClassWoRenderer.A = {delegatedPropertyInClassWoRenderer.A@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 7)
|
local = a: delegatedPropertyInClassWoRenderer.A = {delegatedPropertyInClassWoRenderer.A@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 7)
|
||||||
field = prop: int = {delegatedPropertyInClassWoRenderer.MyDelegate@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 13)
|
field = prop$delegate: delegatedPropertyInClassWoRenderer.MyDelegate = {delegatedPropertyInClassWoRenderer.MyDelegate@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 13)
|
||||||
- Class has no fields
|
- Class has no fields
|
||||||
|
field = prop: int = 1 (sp = delegatedPropertyInClassWoRenderer.kt, 13)
|
||||||
Disconnected from the target VM
|
Disconnected from the target VM
|
||||||
|
|
||||||
Process finished with exit code 0
|
Process finished with exit code 0
|
||||||
|
|||||||
+1
@@ -21,6 +21,7 @@ fun main() {
|
|||||||
|
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
// SHOW_KOTLIN_VARIABLES
|
// SHOW_KOTLIN_VARIABLES
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
|
|
||||||
// EXPRESSION: this
|
// EXPRESSION: this
|
||||||
// RESULT: "abc": Ljava/lang/String;
|
// RESULT: "abc": Ljava/lang/String;
|
||||||
|
|||||||
+1
@@ -11,6 +11,7 @@ suspend fun foo() {}
|
|||||||
|
|
||||||
// PRINT_FRAME
|
// PRINT_FRAME
|
||||||
// SHOW_KOTLIN_VARIABLES
|
// SHOW_KOTLIN_VARIABLES
|
||||||
|
// RENDER_DELEGATED_PROPERTIES
|
||||||
|
|
||||||
// EXPRESSION: a
|
// EXPRESSION: a
|
||||||
// RESULT: 5: I
|
// RESULT: 5: I
|
||||||
+9
-4
@@ -40,11 +40,8 @@ import org.jetbrains.eval4j.ObjectValue
|
|||||||
import org.jetbrains.eval4j.Value
|
import org.jetbrains.eval4j.Value
|
||||||
import org.jetbrains.eval4j.jdi.asValue
|
import org.jetbrains.eval4j.jdi.asValue
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerTestBase
|
import org.jetbrains.kotlin.idea.debugger.*
|
||||||
import org.jetbrains.kotlin.idea.debugger.KotlinFrameExtraVariablesProvider
|
|
||||||
import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState
|
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractKotlinEvaluateExpressionTest.PrinterConfig.DescriptorViewOptions
|
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractKotlinEvaluateExpressionTest.PrinterConfig.DescriptorViewOptions
|
||||||
import org.jetbrains.kotlin.idea.debugger.invokeInManagerThread
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils.*
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils.*
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
@@ -60,6 +57,7 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
|
|||||||
private var oldLogLevel: Level? = null
|
private var oldLogLevel: Level? = null
|
||||||
private var oldShowKotlinVariables: Boolean = false
|
private var oldShowKotlinVariables: Boolean = false
|
||||||
private var oldShowFqTypeNames = false
|
private var oldShowFqTypeNames = false
|
||||||
|
private var oldRenderDelegatedPropertiesState = false
|
||||||
|
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
super.setUp()
|
super.setUp()
|
||||||
@@ -70,6 +68,8 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
|
|||||||
|
|
||||||
oldShowKotlinVariables = ToggleKotlinVariablesState.getService().kotlinVariableView
|
oldShowKotlinVariables = ToggleKotlinVariablesState.getService().kotlinVariableView
|
||||||
|
|
||||||
|
oldRenderDelegatedPropertiesState = KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES
|
||||||
|
|
||||||
oldLogLevel = logger.level
|
oldLogLevel = logger.level
|
||||||
logger.level = Level.DEBUG
|
logger.level = Level.DEBUG
|
||||||
|
|
||||||
@@ -88,6 +88,8 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
|
|||||||
override fun tearDown() {
|
override fun tearDown() {
|
||||||
ToggleKotlinVariablesState.getService().kotlinVariableView = oldShowKotlinVariables
|
ToggleKotlinVariablesState.getService().kotlinVariableView = oldShowKotlinVariables
|
||||||
|
|
||||||
|
KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES = oldRenderDelegatedPropertiesState
|
||||||
|
|
||||||
logger.level = oldLogLevel
|
logger.level = oldLogLevel
|
||||||
logger.removeAppender(appender)
|
logger.removeAppender(appender)
|
||||||
|
|
||||||
@@ -196,6 +198,9 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
|
|||||||
oldKotlinVariablesState = kotlinVariablesState.kotlinVariableView
|
oldKotlinVariablesState = kotlinVariablesState.kotlinVariableView
|
||||||
|
|
||||||
kotlinVariablesState.kotlinVariableView = isDirectiveDefined(fileText, "// SHOW_KOTLIN_VARIABLES")
|
kotlinVariablesState.kotlinVariableView = isDirectiveDefined(fileText, "// SHOW_KOTLIN_VARIABLES")
|
||||||
|
|
||||||
|
KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES =
|
||||||
|
isDirectiveDefined(fileText, "// RENDER_DELEGATED_PROPERTIES")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun trigger(suspendContext: SuspendContextImpl) {
|
fun trigger(suspendContext: SuspendContextImpl) {
|
||||||
|
|||||||
Reference in New Issue
Block a user