diff options
author | Eugene Tarassov | 2012-01-03 18:47:00 +0000 |
---|---|---|
committer | Eugene Tarassov | 2012-01-03 18:47:00 +0000 |
commit | f48951b27a299a3ca4fc7a61725b6894136a16c2 (patch) | |
tree | ddd65f27379a8ff5ccd49c40d19ed352825d7972 | |
parent | 10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29 (diff) | |
download | org.eclipse.tcf-f48951b27a299a3ca4fc7a61725b6894136a16c2.tar.gz org.eclipse.tcf-f48951b27a299a3ca4fc7a61725b6894136a16c2.tar.xz org.eclipse.tcf-f48951b27a299a3ca4fc7a61725b6894136a16c2.zip |
TCF Debugger: added type name display for "pointer to member".
-rw-r--r-- | plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExpression.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExpression.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExpression.java index 3ade43955..e7f28dde6 100644 --- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExpression.java +++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExpression.java @@ -299,9 +299,9 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT return false; } @Override - public void cancel() { + public void reset() { if (isValid() && getData() != null) getData().dispose(); - super.cancel(); + super.reset(); } @Override public void dispose() { @@ -757,6 +757,22 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT if ((flags & ISymbols.SYM_FLAG_REFERENCE) != 0) s = "&"; get_base_type = true; break; + case member_pointer: + { + String id = type_symbol.getContainerID(); + if (id != null) { + TCFDataCache<ISymbols.Symbol> cls_cache = model.getSymbolInfoCache(id); + if (!cls_cache.validate(done)) return false; + ISymbols.Symbol cls_data = cls_cache.getData(); + if (cls_data != null) { + String cls_name = cls_data.getName(); + if (cls_name != null) s = cls_name + "::*"; + } + } + if (s == null) s = "::*"; + } + get_base_type = true; + break; case array: s = "[" + type_symbol.getLength() + "]"; get_base_type = true; @@ -1236,6 +1252,7 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT break; case pointer: case function: + case member_pointer: if (level == 0) { bf.append("Oct: ", SWT.BOLD); bf.append(toNumberString(8, type_class, data, offs, size, big_endian)); |