diff options
author | Eugene Tarassov | 2012-10-31 16:16:30 +0000 |
---|---|---|
committer | Eugene Tarassov | 2012-10-31 16:16:30 +0000 |
commit | 323140c7b175cf303849438f7c4392407abed836 (patch) | |
tree | afa4cfa90db2d6d81f487f7be203b0155b1e1551 /plugins | |
parent | 0ff083d1344fbb52ed61ac7f0e65a0087166f5fd (diff) | |
download | org.eclipse.tcf-323140c7b175cf303849438f7c4392407abed836.tar.gz org.eclipse.tcf-323140c7b175cf303849438f7c4392407abed836.tar.xz org.eclipse.tcf-323140c7b175cf303849438f7c4392407abed836.zip |
TCF Debugger: added code to show properties of expression value symbol in the Properties view
Diffstat (limited to 'plugins')
2 files changed, 22 insertions, 4 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/adapters/TCFNodePropertySource.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/adapters/TCFNodePropertySource.java index 78951d14f..271f34d58 100644 --- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/adapters/TCFNodePropertySource.java +++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/adapters/TCFNodePropertySource.java @@ -154,6 +154,24 @@ public class TCFNodePropertySource implements IPropertySource { } addDescriptor("Expression Value", key, value); } + String sym_id = value_data.getSymbolID(); + if (sym_id != null) { + TCFDataCache<ISymbols.Symbol> sym_cache = exp_node.getModel().getSymbolInfoCache(sym_id); + if (!sym_cache.validate(this)) return; + Throwable sym_error = sym_cache.getError(); + if (sym_error != null) addDescriptor("Expression Value Symbol", "Error", TCFModel.getErrorMessage(sym_error, false)); + ISymbols.Symbol sym_data = sym_cache.getData(); + if (sym_data != null) { + props = sym_data.getProperties(); + for (String key : props.keySet()) { + Object value = props.get(key); + if (value instanceof Number) { + value = toHexAddrString((Number)value); + } + addDescriptor("Expression Value Symbol", key, value); + } + } + } } done(list.toArray(new IPropertyDescriptor[list.size()])); } diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelProxy.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelProxy.java index 4ead69c18..81168203e 100644 --- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelProxy.java +++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelProxy.java @@ -492,8 +492,8 @@ public class TCFModelProxy extends AbstractModelProxy implements IModelProxy, Ru if (viewer instanceof IInternalTreeModelViewer) { final Set<String> expanded = new HashSet<String>(); for (TCFNode node : save_expand_state) { - if (getExpandedState(node) || - Boolean.TRUE.equals(expanded_nodes.get(node.getID())) ) + if (getExpandedState(node) || + Boolean.TRUE.equals(expanded_nodes.get(node.getID())) ) { expanded.add(node.id); } @@ -522,7 +522,7 @@ public class TCFModelProxy extends AbstractModelProxy implements IModelProxy, Ru } return tree_viewer.getExpandedState(element); } - + private void postDelta() { assert Protocol.isDispatchThread(); if (disposed) return; @@ -640,7 +640,7 @@ public class TCFModelProxy extends AbstractModelProxy implements IModelProxy, Ru TCFNode node = null; if (element instanceof TCFNode) { node = (TCFNode)element; - } + } if (element instanceof TCFLaunch) { node = model.getRootNode(); } |