From c1d6468eca6eb9c2c59c735b809e04c5eccc3095 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Thu, 12 May 2005 13:46:59 +0000 Subject: [PATCH] 2005-05-12 Alain Magloire Fix PR 94841 * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 4 ++++ .../cdt/debug/mi/core/cdi/model/Variable.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index 81760b0f78f..be1c081b184 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,7 @@ +2005-05-12 Alain Magloire + Fix PR 94841 + * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java + 2005-04-28 Alain Magloire Added command -gdb-show endian * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java index fc6084dcce1..e2838a1b4eb 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java @@ -193,6 +193,23 @@ public abstract class Variable extends VariableDescriptor implements ICDIVariabl } else { fn = "*(" + fn + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } + } else if (t instanceof ICDIReferenceType) { + ICDIType subType = ((ICDIReferenceType)t).getComponentType(); + if (subType instanceof ICDIStructType) { + if (isCPPLanguage()) { + if (!isFake() + || (isFake() && !(fName.equals("private") || fName.equals("public") || fName.equals("protected")))) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + childFake = true; + childType = t; + } else { + fn = "(" + fn + ")." + vars[i].getExp(); //$NON-NLS-1$ //$NON-NLS-2$ + } + } else { // If not C++ language + fn = "(" + fn + ")." + vars[i].getExp(); //$NON-NLS-1$ //$NON-NLS-2$ + } + } else { + fn = "(" + fn + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } } else if (t instanceof ICDIStructType) { if (isCPPLanguage()) { // For C++ in GDB the children of the