diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableLayoutNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableLayoutNode.java index 58606baecad..cfb10c32299 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableLayoutNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableLayoutNode.java @@ -50,6 +50,8 @@ import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.core.model.IValue; import org.eclipse.debug.core.model.IVariable; +import org.eclipse.debug.internal.ui.DebugUIPlugin; +import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor; import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate; @@ -344,7 +346,7 @@ public class VariableLayoutNode extends AbstractExpressionLayoutNode rm) { /* - * Create a valid DMC for this entered expression. + * Create a valid DMC for this entered expression. */ - final IFrameDMContext frameDmc = findDmcInPath(update.getElementPath(), IFrameDMContext.class); - final IExpressions expressionService = getServicesTracker().getService(IExpressions.class); + final IFrameDMContext frameDmc = findDmcInPath(update.getElementPath(), IFrameDMContext.class); + final IExpressions expressionService = getServicesTracker().getService(IExpressions.class); - IExpressionDMContext expressionDMC = expressionService.createExpression(frameDmc, expressionText); + IExpressionDMContext expressionDMC = expressionService.createExpression(frameDmc, expressionPartText); /* * Now create the valid VMC which wrappers it. */ IVMContext vmc = createVMContext(expressionDMC); - - /* - * Associate this expression with the newly valid DMC and return this VMC back up the chain of command - * so it will be used when displaying the value in the expression view. - */ - associateExpression(vmc, expression); - update.setChild(vmc, 0); - update.done(); + rm.setData(vmc); + rm.done(); } @Override diff --git a/plugins/org.eclipse.dd.dsf.debug/src/org/eclipse/dd/dsf/debug/service/IFormattedValues.java b/plugins/org.eclipse.dd.dsf.debug/src/org/eclipse/dd/dsf/debug/service/IFormattedValues.java index 7b2d1e3b0e1..5ccac0a39ea 100644 --- a/plugins/org.eclipse.dd.dsf.debug/src/org/eclipse/dd/dsf/debug/service/IFormattedValues.java +++ b/plugins/org.eclipse.dd.dsf.debug/src/org/eclipse/dd/dsf/debug/service/IFormattedValues.java @@ -87,6 +87,11 @@ public interface IFormattedValues extends IDMService { public int hashCode() { return baseHashCode() + getFormatID().hashCode(); } + + @Override + public String toString() { + return super.toString() + ".format(" + getFormatID() + ")"; + } } public static class FormattedValueDMData implements IDMData {