Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2014-11-15 03:40:18 +0000
committerEugene Tarassov2014-11-15 03:40:18 +0000
commitd44cc27c9c79bc48954a751e92114b0d2f67fdae (patch)
treeb41363e93dc096b233b0baa8fb3e53eedf476c6b /plugins/org.eclipse.tcf.debug.ui
parent6466ab5bd573bd7bbac6fefd7f30e7440934e448 (diff)
downloadorg.eclipse.tcf-d44cc27c9c79bc48954a751e92114b0d2f67fdae.tar.gz
org.eclipse.tcf-d44cc27c9c79bc48954a751e92114b0d2f67fdae.tar.xz
org.eclipse.tcf-d44cc27c9c79bc48954a751e92114b0d2f67fdae.zip
Bug 451598 - Provide support for TAG_variant and TAG_variant_part
Diffstat (limited to 'plugins/org.eclipse.tcf.debug.ui')
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFChildrenSubExpressions.java25
1 files changed, 16 insertions, 9 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFChildrenSubExpressions.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFChildrenSubExpressions.java
index 44df1ca74..8c1848e59 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFChildrenSubExpressions.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFChildrenSubExpressions.java
@@ -104,15 +104,22 @@ public class TCFChildrenSubExpressions extends TCFChildren {
else {
ISymbols.Symbol sym_data = sym_cache.getData();
if (sym_data == null) continue;
- if (sym_data.getSymbolClass() != ISymbols.SymbolClass.reference) continue;
- if (sym_data.getFlag(ISymbols.SYM_FLAG_ARTIFICIAL)) continue;
- if (sym_data.getName() == null && !sym_data.getFlag(ISymbols.SYM_FLAG_INHERITANCE)) {
- if (!findFields(sym_data, map, deref)) return false;
- }
- else {
- TCFNodeExpression n = getField(id, deref);
- n.setSortPosition(map.size());
- map.put(n.id, n);
+ switch (sym_data.getSymbolClass()) {
+ case reference:
+ case variant_part:
+ case variant:
+ if (sym_data.getFlag(ISymbols.SYM_FLAG_ARTIFICIAL)) continue;
+ if (sym_data.getName() == null && !sym_data.getFlag(ISymbols.SYM_FLAG_INHERITANCE)) {
+ if (!findFields(sym_data, map, deref)) return false;
+ }
+ else {
+ TCFNodeExpression n = getField(id, deref);
+ n.setSortPosition(map.size());
+ map.put(n.id, n);
+ }
+ break;
+ default:
+ break;
}
}
}

Back to the top