mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correctly build child expression for evaluation dialog
This commit is contained in:
@@ -41,7 +41,8 @@ public class CompoundReferenceRenderer extends CompoundNodeRenderer{
|
||||
}
|
||||
|
||||
public ChildrenRenderer getChildrenRenderer() {
|
||||
return super.getChildrenRenderer() != null ? super.getChildrenRenderer() : getDefaultRenderer();
|
||||
final ChildrenRenderer childrenRenderer = super.getChildrenRenderer();
|
||||
return childrenRenderer != null ? childrenRenderer : getDefaultRenderer();
|
||||
}
|
||||
|
||||
private NodeRenderer getDefaultRenderer() {
|
||||
@@ -49,7 +50,8 @@ public class CompoundReferenceRenderer extends CompoundNodeRenderer{
|
||||
}
|
||||
|
||||
public ValueLabelRenderer getLabelRenderer() {
|
||||
return super.getLabelRenderer() != null ? super.getLabelRenderer() : getDefaultRenderer();
|
||||
final ValueLabelRenderer labelRenderer = super.getLabelRenderer();
|
||||
return labelRenderer != null ? labelRenderer : getDefaultRenderer();
|
||||
}
|
||||
|
||||
private ChildrenRenderer getRawChildrenRenderer() {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.intellij.debugger.ui.tree.render;
|
||||
|
||||
import com.intellij.debugger.ClassFilter;
|
||||
import com.intellij.debugger.DebuggerContext;
|
||||
import com.intellij.debugger.settings.NodeRendererSettings;
|
||||
import com.intellij.debugger.engine.DebugProcessImpl;
|
||||
import com.intellij.debugger.engine.StackFrameContext;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
@@ -123,19 +124,20 @@ public class ToStringRenderer extends NodeRendererImpl {
|
||||
getDefaultRenderer(value, evaluationContext).buildChildren(value, builder, evaluationContext);
|
||||
}
|
||||
|
||||
private static NodeRenderer getDefaultRenderer(Value value, StackFrameContext context) {
|
||||
Type type = value != null ? value.type() : null;
|
||||
return ((DebugProcessImpl)context.getDebugProcess()).getDefaultRenderer(type);
|
||||
}
|
||||
|
||||
public PsiExpression getChildValueExpression(DebuggerTreeNode node, DebuggerContext context) throws EvaluateException {
|
||||
return getDefaultRenderer(((ValueDescriptor) node.getDescriptor()).getValue(), context).getChildValueExpression(node, context);
|
||||
final Value parentValue = ((ValueDescriptor)node.getParent().getDescriptor()).getValue();
|
||||
return getDefaultRenderer(parentValue, context).getChildValueExpression(node, context);
|
||||
}
|
||||
|
||||
public boolean isExpandable(Value value, EvaluationContext evaluationContext, NodeDescriptor parentDescriptor) {
|
||||
return getDefaultRenderer(value, evaluationContext).isExpandable(value, evaluationContext, parentDescriptor);
|
||||
}
|
||||
|
||||
private static NodeRenderer getDefaultRenderer(Value value, StackFrameContext context) {
|
||||
final Type type = (value != null) ? value.type() : null;
|
||||
return ((DebugProcessImpl)context.getDebugProcess()).getDefaultRenderer(type);
|
||||
}
|
||||
|
||||
public void readExternal(Element element) throws InvalidDataException {
|
||||
super.readExternal(element);
|
||||
final String value = JDOMExternalizerUtil.readField(element, "USE_CLASS_FILTERS");
|
||||
|
||||
Reference in New Issue
Block a user