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 1b00b928973..47dac6d41cc 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 @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi @State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage("kotlin_debug.xml"))) class KotlinDebuggerSettings : XDebuggerSettings("kotlin_debugger"), Getter { - 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 diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/extraVariables/evDelegatedProperty.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/extraVariables/evDelegatedProperty.kt index bdc0c2d8462..df1421013eb 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/extraVariables/evDelegatedProperty.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/extraVariables/evDelegatedProperty.kt @@ -13,4 +13,5 @@ fun main(args: Array) { val b = a.prop } -// PRINT_FRAME \ No newline at end of file +// PRINT_FRAME +// RENDER_DELEGATED_PROPERTIES \ No newline at end of file diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClass.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClass.kt index 6e175e202f1..1cfce4bf89c 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClass.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClass.kt @@ -23,5 +23,7 @@ class MyDelegateThrowsException { } // PRINT_FRAME +// RENDER_DELEGATED_PROPERTIES + // SKIP: suppressedExceptions // SKIP: stackTrace diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassKotlinVariables.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassKotlinVariables.kt index b4076aeafe8..7613157b787 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassKotlinVariables.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassKotlinVariables.kt @@ -24,5 +24,7 @@ class MyDelegateThrowsException { // SHOW_KOTLIN_VARIABLES // PRINT_FRAME +// RENDER_DELEGATED_PROPERTIES + // SKIP: suppressedExceptions // SKIP: stackTrace diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWithToString.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWithToString.kt index 5752f67f84a..8c867f9015b 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWithToString.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWithToString.kt @@ -19,3 +19,4 @@ class MyDelegate { } // PRINT_FRAME +// RENDER_DELEGATED_PROPERTIES \ No newline at end of file diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.kt index 0fd62e1a275..752bf70b804 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.kt @@ -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 \ No newline at end of file diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.out b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.out index 6c314f5a1eb..5b248c234a9 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.out +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/delegatedPropertyInClassWoRenderer.out @@ -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 diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/lambdaFun4.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/lambdaFun4.kt index 916d7d07b9d..6574575a637 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/lambdaFun4.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/lambdaFun4.kt @@ -21,6 +21,7 @@ fun main() { // PRINT_FRAME // SHOW_KOTLIN_VARIABLES +// RENDER_DELEGATED_PROPERTIES // EXPRESSION: this // RESULT: "abc": Ljava/lang/String; diff --git a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/suspendContinuation.kt b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/suspendContinuation.kt index 81fc0570913..510a96dd03d 100644 --- a/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/suspendContinuation.kt +++ b/idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/suspendContinuation.kt @@ -11,6 +11,7 @@ suspend fun foo() {} // PRINT_FRAME // SHOW_KOTLIN_VARIABLES +// RENDER_DELEGATED_PROPERTIES // EXPRESSION: a // RESULT: 5: I \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/AbstractKotlinEvaluateExpressionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/AbstractKotlinEvaluateExpressionTest.kt index 71b0be1fcd4..7070d55914c 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/AbstractKotlinEvaluateExpressionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/AbstractKotlinEvaluateExpressionTest.kt @@ -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) {