From a33ed9c4929968a5011e56f863b052cbc17b631d Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Thu, 14 Jul 2011 12:12:48 -0700 Subject: [PATCH] Bug 351898 - Add guard to populate expression column for variables that return error on evaluation. --- .../dsf/debug/ui/viewmodel/variable/VariableVMNode.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java index fb4b5339867..de32bb34463 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java @@ -731,7 +731,7 @@ public class VariableVMNode extends AbstractExpressionVMNode int count = 0; for (final IPropertiesUpdate update : updates) { - IExpression expression = (IExpression)DebugPlugin.getAdapter(update.getElement(), IExpression.class); + final IExpression expression = (IExpression)DebugPlugin.getAdapter(update.getElement(), IExpression.class); if (expression != null) { update.setProperty(AbstractExpressionVMNode.PROP_ELEMENT_EXPRESSION, expression.getExpressionText()); } @@ -761,10 +761,13 @@ public class VariableVMNode extends AbstractExpressionVMNode if (isSuccess()) { fillExpressionDataProperties(update, getData()); } else { - // In case of an error fill in the expression next in the name column. + // In case of an error fill in the expression text in the name column and expressions columns. IExpressionDMContext dmc = findDmcInPath(update.getViewerInput(), update.getElementPath(), IExpressions.IExpressionDMContext.class); if (dmc != null && dmc.getExpression() != null) { update.setProperty(PROP_NAME, dmc.getExpression()); + if (expression == null) { + update.setProperty(PROP_ELEMENT_EXPRESSION, dmc.getExpression()); + } } update.setStatus(getStatus()); }