Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2004-08-15 03:35:30 +0000
committerAlain Magloire2004-08-15 03:35:30 +0000
commit9ee027d1832abfd7dd4da5da7c0476a9dd155af0 (patch)
treed02347b4240b7888b4c4082794006600874cda1c
parent6accf8fc2d141beeac7f9aff52848c765b63f520 (diff)
downloadorg.eclipse.cdt-9ee027d1832abfd7dd4da5da7c0476a9dd155af0.tar.gz
org.eclipse.cdt-9ee027d1832abfd7dd4da5da7c0476a9dd155af0.tar.xz
org.eclipse.cdt-9ee027d1832abfd7dd4da5da7c0476a9dd155af0.zip
deal with C++ references
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
index 99e60534b3b..8f81f11e294 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
@@ -106,7 +106,7 @@ public class GDBTypeParser {
derived = (GDBDerivedType)gdbType;
gdbType = derived.getChild();
if (type == GDBType.FUNCTION) {
- sb.append("()");
+ sb.append("()"); //$NON-NLS-1$
} else if (type == GDBType.ARRAY) {
sb.append('[').append(derived.getDimension()).append(']');
} else if (type == GDBType.POINTER) {
@@ -116,10 +116,17 @@ public class GDBTypeParser {
} else if (childType == GDBType.GENERIC) {
sb.insert(0, '*');
} else {
- sb.insert(0, "(*").append(")");
+ sb.insert(0, "(*").append(')'); //$NON-NLS-1$
}
} else if (type == GDBType.REFERENCE) {
- sb.insert(0, "(&").append(")");
+ int childType = (gdbType != null) ? gdbType.getType() : GDBType.GENERIC;
+ if (childType == GDBType.POINTER || childType == GDBType.REFERENCE) {
+ sb.append("&"); //$NON-NLS-1$
+ } else if (childType == GDBType.GENERIC) {
+ sb.insert(0, '&');
+ } else {
+ sb.insert(0, "(&").append(')'); //$NON-NLS-1$
+ }
}
} else {
sb.insert(0, ' ');

Back to the top