diff --git a/platform/script-debugger/debugger-ui/src/VariableView.kt b/platform/script-debugger/debugger-ui/src/VariableView.kt index 4ff3d5d0b734..ee328614a132 100644 --- a/platform/script-debugger/debugger-ui/src/VariableView.kt +++ b/platform/script-debugger/debugger-ui/src/VariableView.kt @@ -380,15 +380,22 @@ class VariableView(override val variableName: String, private val variable: Vari return null } - val list = SmartList(variable.name) + val list = SmartList() + addVarName(list, parent, variable.name) + var parent: VariableContext? = context while (parent != null && parent.variableName != null) { - list.add(parent.variableName!!) + addVarName(list, parent.parent, parent.variableName!!) parent = parent.parent } return context.viewSupport.propertyNamesToString(list, false) } + private fun addVarName(list: SmartList, parent: VariableContext?, name: String) { + if (parent == null || parent.variableName != null) list.add(name) + else list.addAll(name.split(".").reversed()) + } + private class MyFullValueEvaluator(private val value: Value) : XFullValueEvaluator(if (value is StringValue) value.length else value.valueString!!.length) { override fun startEvaluation(callback: XFullValueEvaluator.XFullValueEvaluationCallback) { if (value !is StringValue || !value.isTruncated) {