mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
value was requested twice for variable's children
This commit is contained in:
@@ -130,6 +130,7 @@ public class JavaDebugProcess extends XDebugProcess {
|
||||
myNodeManager = new NodeManagerImpl(session.getProject(), null) {
|
||||
@Override
|
||||
public DebuggerTreeNodeImpl createNode(final NodeDescriptor descriptor, EvaluationContext evaluationContext) {
|
||||
// value gathered here is required for correct renderers work. e.g. array renderer
|
||||
((NodeDescriptorImpl)descriptor).setContext((EvaluationContextImpl)evaluationContext);
|
||||
final DebuggerTreeNodeImpl node = new DebuggerTreeNodeImpl(null, descriptor);
|
||||
((NodeDescriptorImpl)descriptor).updateRepresentation((EvaluationContextImpl)evaluationContext, DescriptorLabelListener.DUMMY_LISTENER);
|
||||
|
||||
@@ -69,17 +69,19 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider {
|
||||
myNodeManager = nodeManager;
|
||||
}
|
||||
|
||||
private static JavaValue create(JavaValue parent, @NotNull ValueDescriptorImpl valueDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager) {
|
||||
private static JavaValue create(JavaValue parent, @NotNull ValueDescriptorImpl valueDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager, boolean init) {
|
||||
DebuggerManagerThreadImpl.assertIsManagerThread();
|
||||
valueDescriptor.setContext(evaluationContext);
|
||||
valueDescriptor.updateRepresentation(evaluationContext, DescriptorLabelListener.DUMMY_LISTENER);
|
||||
if (init) {
|
||||
valueDescriptor.setContext(evaluationContext);
|
||||
valueDescriptor.updateRepresentation(evaluationContext, DescriptorLabelListener.DUMMY_LISTENER);
|
||||
}
|
||||
return new JavaValue(parent, valueDescriptor, evaluationContext, nodeManager);
|
||||
}
|
||||
|
||||
static JavaValue create(@NotNull ValueDescriptorImpl valueDescriptor,
|
||||
EvaluationContextImpl evaluationContext,
|
||||
NodeManagerImpl nodeManager) {
|
||||
return create(null, valueDescriptor, evaluationContext, nodeManager);
|
||||
return create(null, valueDescriptor, evaluationContext, nodeManager, true);
|
||||
}
|
||||
|
||||
public JavaValue getParent() {
|
||||
@@ -205,7 +207,8 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider {
|
||||
for (DebuggerTreeNode node : nodes) {
|
||||
final NodeDescriptor descriptor = node.getDescriptor();
|
||||
if (descriptor instanceof ValueDescriptorImpl) {
|
||||
children.add(create(JavaValue.this, (ValueDescriptorImpl)descriptor, myEvaluationContext, myNodeManager));
|
||||
// Value is calculated already in NodeManagerImpl
|
||||
children.add(create(JavaValue.this, (ValueDescriptorImpl)descriptor, myEvaluationContext, myNodeManager, false));
|
||||
}
|
||||
else if (descriptor instanceof MessageDescriptor) {
|
||||
children.add("", new XValue() {
|
||||
|
||||
Reference in New Issue
Block a user