mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-163697 Debugger shows wrong values for TreeMap entries
This commit is contained in:
@@ -129,4 +129,8 @@ public class RendererConfiguration implements Cloneable, JDOMExternalizable {
|
||||
public int getRendererCount() {
|
||||
return myRepresentationNodes.size();
|
||||
}
|
||||
|
||||
public boolean contains(NodeRenderer renderer) {
|
||||
return myRepresentationNodes.contains(renderer);
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -86,6 +86,7 @@ public class CustomFieldInplaceEditor extends XDebuggerTreeInplaceEditor {
|
||||
|
||||
Renderer lastRenderer = descriptor.getLastRenderer();
|
||||
if (lastRenderer instanceof CompoundNodeRenderer &&
|
||||
NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)lastRenderer) &&
|
||||
!(((CompoundNodeRenderer)lastRenderer).getChildrenRenderer() instanceof ExpressionChildrenRenderer)) {
|
||||
((CompoundNodeRenderer)lastRenderer).setChildrenRenderer(enumerationChildrenRenderer);
|
||||
}
|
||||
|
||||
+3
-1
@@ -22,6 +22,7 @@ import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.engine.evaluation.TextWithImports;
|
||||
import com.intellij.debugger.impl.descriptors.data.UserExpressionData;
|
||||
import com.intellij.debugger.settings.NodeRendererSettings;
|
||||
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl;
|
||||
import com.intellij.debugger.ui.tree.*;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
@@ -149,7 +150,8 @@ public final class EnumerationChildrenRenderer extends TypeRenderer implements C
|
||||
@Nullable
|
||||
public static EnumerationChildrenRenderer getCurrent(ValueDescriptorImpl valueDescriptor) {
|
||||
Renderer renderer = valueDescriptor.getLastRenderer();
|
||||
if (renderer instanceof CompoundNodeRenderer) {
|
||||
if (renderer instanceof CompoundNodeRenderer &&
|
||||
NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)renderer)) {
|
||||
ChildrenRenderer childrenRenderer = ((CompoundNodeRenderer)renderer).getChildrenRenderer();
|
||||
if (childrenRenderer instanceof EnumerationChildrenRenderer) {
|
||||
return (EnumerationChildrenRenderer)childrenRenderer;
|
||||
|
||||
Reference in New Issue
Block a user