diff options
author | Alain Magloire | 2004-08-15 03:35:30 +0000 |
---|---|---|
committer | Alain Magloire | 2004-08-15 03:35:30 +0000 |
commit | 9ee027d1832abfd7dd4da5da7c0476a9dd155af0 (patch) | |
tree | d02347b4240b7888b4c4082794006600874cda1c | |
parent | 6accf8fc2d141beeac7f9aff52848c765b63f520 (diff) | |
download | org.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.java | 13 |
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, ' '); |