mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 219179
Properly deal with children of pointers when -var-info-path-expression is not available
This commit is contained in:
parent
ff5a0f3650
commit
8a84fa9f72
1 changed files with 8 additions and 0 deletions
|
@ -770,6 +770,7 @@ public class MIVariableManager implements ICommandControl {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method builds a child expression based on its parent's expression.
|
* This method builds a child expression based on its parent's expression.
|
||||||
|
* It is a fallback solution for when GDB doesn't support the var-info-path-expression.
|
||||||
*
|
*
|
||||||
* Currently, this does not support inherited class such as
|
* Currently, this does not support inherited class such as
|
||||||
* class foo : bar {
|
* class foo : bar {
|
||||||
|
@ -778,6 +779,13 @@ public class MIVariableManager implements ICommandControl {
|
||||||
* because we'll create foo.bar instead of (bar)foo.
|
* because we'll create foo.bar instead of (bar)foo.
|
||||||
*/
|
*/
|
||||||
private String buildChildExpression(String parentExp, String childExp) {
|
private String buildChildExpression(String parentExp, String childExp) {
|
||||||
|
// For pointers, the child expression is already contained in the parent,
|
||||||
|
// so we must simply prefix with *
|
||||||
|
// See Bug219179 for more information.
|
||||||
|
if (isPointer()) {
|
||||||
|
return "*("+parentExp+")"; //$NON-NLS-1$//$NON-NLS-2$
|
||||||
|
}
|
||||||
|
|
||||||
return parentExp + "." + childExp; //$NON-NLS-1$
|
return parentExp + "." + childExp; //$NON-NLS-1$
|
||||||
// No need for a special case for arrays since we deal with arrays differently
|
// No need for a special case for arrays since we deal with arrays differently
|
||||||
// and don't call this method for them
|
// and don't call this method for them
|
||||||
|
|
Loading…
Add table
Reference in a new issue