Debugger: Disable value rendering in watches by default (KT-19084)

This commit is contained in:
Yan Zhulanow
2019-05-28 18:55:35 +09:00
parent 0f3d85716c
commit 4fe6431b0f
10 changed files with 23 additions and 9 deletions
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi
@State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage("kotlin_debug.xml")))
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_IS_FILTER_FOR_STDLIB_ALREADY_ADDED: Boolean = false
@@ -13,4 +13,5 @@ fun main(args: Array<String>) {
val b = a.prop
}
// PRINT_FRAME
// PRINT_FRAME
// RENDER_DELEGATED_PROPERTIES
@@ -23,5 +23,7 @@ class MyDelegateThrowsException {
}
// PRINT_FRAME
// RENDER_DELEGATED_PROPERTIES
// SKIP: suppressedExceptions
// SKIP: stackTrace
@@ -24,5 +24,7 @@ class MyDelegateThrowsException {
// SHOW_KOTLIN_VARIABLES
// PRINT_FRAME
// RENDER_DELEGATED_PROPERTIES
// SKIP: suppressedExceptions
// SKIP: stackTrace
@@ -19,3 +19,4 @@ class MyDelegate {
}
// PRINT_FRAME
// RENDER_DELEGATED_PROPERTIES
@@ -17,5 +17,5 @@ class MyDelegate {
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
}
// RENDER_DELEGATED_PROPERTIES: false
// PRINT_FRAME
// RENDER_DELEGATED_PROPERTIES
// PRINT_FRAME
@@ -6,8 +6,9 @@ Compile bytecode for args.size
frame = main:9, DelegatedPropertyInClassWoRendererKt {delegatedPropertyInClassWoRenderer}
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)
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
field = prop: int = 1 (sp = delegatedPropertyInClassWoRenderer.kt, 13)
Disconnected from the target VM
Process finished with exit code 0
@@ -21,6 +21,7 @@ fun main() {
// PRINT_FRAME
// SHOW_KOTLIN_VARIABLES
// RENDER_DELEGATED_PROPERTIES
// EXPRESSION: this
// RESULT: "abc": Ljava/lang/String;
@@ -11,6 +11,7 @@ suspend fun foo() {}
// PRINT_FRAME
// SHOW_KOTLIN_VARIABLES
// RENDER_DELEGATED_PROPERTIES
// EXPRESSION: a
// RESULT: 5: I
@@ -40,11 +40,8 @@ import org.jetbrains.eval4j.ObjectValue
import org.jetbrains.eval4j.Value
import org.jetbrains.eval4j.jdi.asValue
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerTestBase
import org.jetbrains.kotlin.idea.debugger.KotlinFrameExtraVariablesProvider
import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState
import org.jetbrains.kotlin.idea.debugger.*
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.test.InTextDirectivesUtils.*
import org.junit.Assert
@@ -60,6 +57,7 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
private var oldLogLevel: Level? = null
private var oldShowKotlinVariables: Boolean = false
private var oldShowFqTypeNames = false
private var oldRenderDelegatedPropertiesState = false
override fun setUp() {
super.setUp()
@@ -70,6 +68,8 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
oldShowKotlinVariables = ToggleKotlinVariablesState.getService().kotlinVariableView
oldRenderDelegatedPropertiesState = KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES
oldLogLevel = logger.level
logger.level = Level.DEBUG
@@ -88,6 +88,8 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
override fun tearDown() {
ToggleKotlinVariablesState.getService().kotlinVariableView = oldShowKotlinVariables
KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES = oldRenderDelegatedPropertiesState
logger.level = oldLogLevel
logger.removeAppender(appender)
@@ -196,6 +198,9 @@ abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestBase() {
oldKotlinVariablesState = kotlinVariablesState.kotlinVariableView
kotlinVariablesState.kotlinVariableView = isDirectiveDefined(fileText, "// SHOW_KOTLIN_VARIABLES")
KotlinDebuggerSettings.getInstance().DEBUG_RENDER_DELEGATED_PROPERTIES =
isDirectiveDefined(fileText, "// RENDER_DELEGATED_PROPERTIES")
}
fun trigger(suspendContext: SuspendContextImpl) {