diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ToStringRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ToStringRenderer.java index acf4c1a8e033..df0b7b0d7418 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ToStringRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ToStringRenderer.java @@ -69,7 +69,10 @@ public class ToStringRenderer extends NodeRendererImpl implements OnDemandRender return ""; } - final Value value = valueDescriptor.getValue(); + Value value = valueDescriptor.getValue(); + if (value instanceof ObjectReference) { + DebuggerUtils.ensureNotInsideObjectConstructor((ObjectReference)value, evaluationContext); + } BatchEvaluator.getBatchEvaluator(evaluationContext.getDebugProcess()).invoke(new ToStringCommand(evaluationContext, value) { @Override public void evaluationResult(String message) { diff --git a/resources-en/src/messages/DebuggerBundle.properties b/resources-en/src/messages/DebuggerBundle.properties index a9d746c83a03..1f38b67a2042 100644 --- a/resources-en/src/messages/DebuggerBundle.properties +++ b/resources-en/src/messages/DebuggerBundle.properties @@ -1,7 +1,7 @@ evaluation.error.empty.code.fragment=Code fragment expected evaluation.error.cannot.evaluate.tostring=Cannot evaluate {0}.toString() evaluation.error.unsupported.expression.type=Unsupported expression type -evaluation.error.object.is.being.initialized=Object is still being initialized +evaluation.error.object.is.being.initialized=Object is being initialized internal.error.locations.of.line=Internal error loading debug information from ''{0}''. Breakpoints will be unavailable in this class. evaluation.error.inconsistent.debug.info=Debug information is inconsistent evaluation.error.boolean.value.expected.in.condition='boolean' value expected in condition