diff options
author | Eugene Tarassov | 2012-10-02 19:14:25 +0000 |
---|---|---|
committer | Eugene Tarassov | 2012-10-02 19:14:25 +0000 |
commit | 24a460acf2d2ce6d414f525da554829cc3718937 (patch) | |
tree | 0e3b459d10cd475533b5c11f9f49e698d1b93b66 /plugins | |
parent | d6d0340046b143974050c2c5c6810457db7be4d2 (diff) | |
download | org.eclipse.tcf-24a460acf2d2ce6d414f525da554829cc3718937.tar.gz org.eclipse.tcf-24a460acf2d2ce6d414f525da554829cc3718937.tar.xz org.eclipse.tcf-24a460acf2d2ce6d414f525da554829cc3718937.zip |
Bug 390330 - Expression view shows artificial class members
Diffstat (limited to 'plugins')
2 files changed, 10 insertions, 3 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 2d00ef899..5df89a763 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,6 +104,7 @@ public class TCFChildrenSubExpressions extends TCFChildren { 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; } 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 b88cc2dc9..0f970b078 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 @@ -1352,6 +1352,7 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT ISymbols.Symbol field_props = field_cache.getData(); if (field_props == null) continue; if (field_props.getSymbolClass() != ISymbols.SymbolClass.reference) continue; + if (field_props.getFlag(ISymbols.SYM_FLAG_ARTIFICIAL)) continue; String name = field_props.getName(); if (name == null && type != null && field_props.getFlag(ISymbols.SYM_FLAG_INHERITANCE)) { name = type.getName(); @@ -1366,9 +1367,14 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT bf.append('='); if (!field_node.value.validate(done)) return false; IExpressions.Value field_value = field_node.value.getData(); - byte[] field_data = field_value.getValue(); - if (!field_node.appendValueText(bf, level + 1, field_props.getTypeID(), field_node, - field_data, 0, field_data.length, big_endian, done)) return false; + byte[] field_data = field_value != null ? field_value.getValue() : null; + if (field_data == null) { + bf.append('?'); + } + else { + if (!field_node.appendValueText(bf, level + 1, field_props.getTypeID(), field_node, + field_data, 0, field_data.length, big_endian, done)) return false; + } cnt++; continue; } |