aboutsummaryrefslogtreecommitdiff
path: root/gdb/varobj.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/varobj.c')
-rw-r--r--gdb/varobj.c317
1 files changed, 159 insertions, 158 deletions
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 1792c2e..0c90645 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -53,11 +53,11 @@ show_varobjdebug (struct ui_file *file, int from_tty,
fprintf_filtered (file, _("Varobj debugging is %s.\n"), value);
}
-/* String representations of gdb's format codes */
+/* String representations of gdb's format codes. */
char *varobj_format_string[] =
{ "natural", "binary", "decimal", "hexadecimal", "octal" };
-/* String representations of gdb's known languages */
+/* String representations of gdb's known languages. */
char *varobj_language_string[] = { "unknown", "C", "C++", "Java" };
/* True if we want to allow Python-based pretty-printing. */
@@ -72,14 +72,14 @@ varobj_enable_pretty_printing (void)
/* Data structures */
/* Every root variable has one of these structures saved in its
- varobj. Members which must be free'd are noted. */
+ varobj. Members which must be free'd are noted. */
struct varobj_root
{
- /* Alloc'd expression for this parent. */
+ /* Alloc'd expression for this parent. */
struct expression *exp;
- /* Block for which this expression is valid */
+ /* Block for which this expression is valid. */
struct block *valid_block;
/* The frame for this expression. This field is set iff valid_block is
@@ -87,7 +87,7 @@ struct varobj_root
struct frame_id frame;
/* The thread ID that this varobj_root belong to. This field
- is only valid if valid_block is not NULL.
+ is only valid if valid_block is not NULL.
When not 0, indicates which thread 'frame' belongs to.
When 0, indicates that the thread list was empty when the varobj_root
was created. */
@@ -95,17 +95,17 @@ struct varobj_root
/* If 1, the -var-update always recomputes the value in the
current thread and frame. Otherwise, variable object is
- always updated in the specific scope/thread/frame */
+ always updated in the specific scope/thread/frame. */
int floating;
/* Flag that indicates validity: set to 0 when this varobj_root refers
to symbols that do not exist anymore. */
int is_valid;
- /* Language info for this variable and its children */
+ /* Language info for this variable and its children. */
struct language_specific *lang;
- /* The varobj for this root node. */
+ /* The varobj for this root node. */
struct varobj *rootvar;
/* Next root variable */
@@ -113,26 +113,26 @@ struct varobj_root
};
/* Every variable in the system has a structure of this type defined
- for it. This structure holds all information necessary to manipulate
- a particular object variable. Members which must be freed are noted. */
+ for it. This structure holds all information necessary to manipulate
+ a particular object variable. Members which must be freed are noted. */
struct varobj
{
- /* Alloc'd name of the variable for this object.. If this variable is a
+ /* Alloc'd name of the variable for this object. If this variable is a
child, then this name will be the child's source name.
- (bar, not foo.bar) */
- /* NOTE: This is the "expression" */
+ (bar, not foo.bar). */
+ /* NOTE: This is the "expression". */
char *name;
/* Alloc'd expression for this child. Can be used to create a
root variable corresponding to this child. */
char *path_expr;
- /* The alloc'd name for this variable's object. This is here for
- convenience when constructing this object's children. */
+ /* The alloc'd name for this variable's object. This is here for
+ convenience when constructing this object's children. */
char *obj_name;
- /* Index of this variable in its parent or -1 */
+ /* Index of this variable in its parent or -1. */
int index;
/* The type of this variable. This can be NULL
@@ -146,10 +146,10 @@ struct varobj
the value is either NULL, or not lazy. */
struct value *value;
- /* The number of (immediate) children this variable has */
+ /* The number of (immediate) children this variable has. */
int num_children;
- /* If this object is a child, this points to its immediate parent. */
+ /* If this object is a child, this points to its immediate parent. */
struct varobj *parent;
/* Children of this object. */
@@ -161,13 +161,14 @@ struct varobj
can avoid that. */
int children_requested;
- /* Description of the root variable. Points to root variable for children. */
+ /* Description of the root variable. Points to root variable for
+ children. */
struct varobj_root *root;
- /* The format of the output for this object */
+ /* The format of the output for this object. */
enum varobj_display_formats format;
- /* Was this variable updated via a varobj_set_value operation */
+ /* Was this variable updated via a varobj_set_value operation. */
int updated;
/* Last print value. */
@@ -226,7 +227,7 @@ struct vlist
/* Private function prototypes */
-/* Helper functions for the above subcommands. */
+/* Helper functions for the above subcommands. */
static int delete_variable (struct cpstack **, struct varobj *, int);
@@ -268,7 +269,7 @@ static char *cppop (struct cpstack **pstack);
static int install_new_value (struct varobj *var, struct value *value,
int initial);
-/* Language-specific routines. */
+/* Language-specific routines. */
static enum varobj_languages variable_language (struct varobj *var);
@@ -364,39 +365,39 @@ static char *java_value_of_variable (struct varobj *var,
struct language_specific
{
- /* The language of this variable */
+ /* The language of this variable. */
enum varobj_languages language;
- /* The number of children of PARENT. */
+ /* The number of children of PARENT. */
int (*number_of_children) (struct varobj * parent);
- /* The name (expression) of a root varobj. */
+ /* The name (expression) of a root varobj. */
char *(*name_of_variable) (struct varobj * parent);
- /* The name of the INDEX'th child of PARENT. */
+ /* The name of the INDEX'th child of PARENT. */
char *(*name_of_child) (struct varobj * parent, int index);
/* Returns the rooted expression of CHILD, which is a variable
obtain that has some parent. */
char *(*path_expr_of_child) (struct varobj * child);
- /* The ``struct value *'' of the root variable ROOT. */
+ /* The ``struct value *'' of the root variable ROOT. */
struct value *(*value_of_root) (struct varobj ** root_handle);
- /* The ``struct value *'' of the INDEX'th child of PARENT. */
+ /* The ``struct value *'' of the INDEX'th child of PARENT. */
struct value *(*value_of_child) (struct varobj * parent, int index);
- /* The type of the INDEX'th child of PARENT. */
+ /* The type of the INDEX'th child of PARENT. */
struct type *(*type_of_child) (struct varobj * parent, int index);
- /* The current value of VAR. */
+ /* The current value of VAR. */
char *(*value_of_variable) (struct varobj * var,
enum varobj_display_formats format);
};
-/* Array of known source language routines. */
+/* Array of known source language routines. */
static struct language_specific languages[vlang_end] = {
- /* Unknown (try treating as C */
+ /* Unknown (try treating as C). */
{
vlang_unknown,
c_number_of_children,
@@ -445,7 +446,7 @@ static struct language_specific languages[vlang_end] = {
java_value_of_variable}
};
-/* A little convenience enum for dealing with C++/Java */
+/* A little convenience enum for dealing with C++/Java. */
enum vsections
{
v_public = 0, v_private, v_protected
@@ -453,20 +454,20 @@ enum vsections
/* Private data */
-/* Mappings of varobj_display_formats enums to gdb's format codes */
+/* Mappings of varobj_display_formats enums to gdb's format codes. */
static int format_code[] = { 0, 't', 'd', 'x', 'o' };
-/* Header of the list of root variable objects */
+/* Header of the list of root variable objects. */
static struct varobj_root *rootlist;
-/* Prime number indicating the number of buckets in the hash table */
-/* A prime large enough to avoid too many colisions */
+/* Prime number indicating the number of buckets in the hash table. */
+/* A prime large enough to avoid too many colisions. */
#define VAROBJ_TABLE_SIZE 227
-/* Pointer to the varobj hash table (built at run time) */
+/* Pointer to the varobj hash table (built at run time). */
static struct vlist **varobj_table;
-/* Is the variable X one of our "fake" children? */
+/* Is the variable X one of our "fake" children? */
#define CPLUS_FAKE_CHILD(x) \
((x) != NULL && (x)->type == NULL && (x)->value == NULL)
@@ -489,7 +490,7 @@ varobj_ensure_python_env (struct varobj *var)
}
#endif
-/* Creates a varobj (not its children) */
+/* Creates a varobj (not its children). */
/* Return the full FRAME which corresponds to the given CORE_ADDR
or NULL if no FRAME on the chain corresponds to CORE_ADDR. */
@@ -530,7 +531,7 @@ varobj_create (char *objname,
struct varobj *var;
struct cleanup *old_chain;
- /* Fill out a varobj structure for the (root) variable being constructed. */
+ /* Fill out a varobj structure for the (root) variable being constructed. */
var = new_root_variable ();
old_chain = make_cleanup_free_variable (var);
@@ -548,7 +549,7 @@ varobj_create (char *objname,
if (has_stack_frames ())
{
- /* Allow creator to specify context of variable */
+ /* Allow creator to specify context of variable. */
if ((type == USE_CURRENT_FRAME) || (type == USE_SELECTED_FRAME))
fi = get_selected_frame (NULL);
else
@@ -564,7 +565,7 @@ varobj_create (char *objname,
else
fi = NULL;
- /* frame = -2 means always use selected frame */
+ /* frame = -2 means always use selected frame. */
if (type == USE_SELECTED_FRAME)
var->root->floating = 1;
@@ -575,13 +576,13 @@ varobj_create (char *objname,
p = expression;
innermost_block = NULL;
/* Wrap the call to parse expression, so we can
- return a sensible error. */
+ return a sensible error. */
if (!gdb_parse_exp_1 (&p, block, 0, &var->root->exp))
{
return NULL;
}
- /* Don't allow variables to be created for types. */
+ /* Don't allow variables to be created for types. */
if (var->root->exp->elts[0].opcode == OP_TYPE)
{
do_cleanups (old_chain);
@@ -599,7 +600,7 @@ varobj_create (char *objname,
/* When the frame is different from the current frame,
we must select the appropriate frame before parsing
the expression, otherwise the value will not be current.
- Since select_frame is so benign, just call it for all cases. */
+ Since select_frame is so benign, just call it for all cases. */
if (innermost_block)
{
/* User could specify explicit FRAME-ADDR which was not found but
@@ -617,7 +618,7 @@ varobj_create (char *objname,
/* We definitely need to catch errors here.
If evaluate_expression succeeds we got the value we wanted.
- But if it fails, we still go on with a call to evaluate_type() */
+ But if it fails, we still go on with a call to evaluate_type(). */
if (!gdb_evaluate_expression (var->root->exp, &value))
{
/* Error getting the value. Try to at least get the
@@ -635,23 +636,23 @@ varobj_create (char *objname,
lang = variable_language (var);
var->root->lang = &languages[lang];
- /* Set ourselves as our root */
+ /* Set ourselves as our root. */
var->root->rootvar = var;
- /* Reset the selected frame */
+ /* Reset the selected frame. */
if (frame_id_p (old_id))
select_frame (frame_find_by_id (old_id));
}
/* If the variable object name is null, that means this
- is a temporary variable, so don't install it. */
+ is a temporary variable, so don't install it. */
if ((var != NULL) && (objname != NULL))
{
var->obj_name = xstrdup (objname);
/* If a varobj name is duplicated, the install will fail so
- we must clenup */
+ we must cleanup. */
if (!install_variable (var))
{
do_cleanups (old_chain);
@@ -663,7 +664,7 @@ varobj_create (char *objname,
return var;
}
-/* Generates an unique name that can be used for a varobj */
+/* Generates an unique name that can be used for a varobj. */
char *
varobj_gen_name (void)
@@ -671,7 +672,7 @@ varobj_gen_name (void)
static int id = 0;
char *obj_name;
- /* generate a name for this object */
+ /* Generate a name for this object. */
id++;
obj_name = xstrprintf ("var%d", id);
@@ -704,7 +705,7 @@ varobj_get_handle (char *objname)
return cv->var;
}
-/* Given the handle, return the name of the object */
+/* Given the handle, return the name of the object. */
char *
varobj_get_objname (struct varobj *var)
@@ -712,7 +713,7 @@ varobj_get_objname (struct varobj *var)
return var->obj_name;
}
-/* Given the handle, return the expression represented by the object */
+/* Given the handle, return the expression represented by the object. */
char *
varobj_get_expression (struct varobj *var)
@@ -723,7 +724,7 @@ varobj_get_expression (struct varobj *var)
/* Deletes a varobj and all its children if only_children == 0,
otherwise deletes only the children; returns a malloc'ed list of
all the (malloc'ed) names of the variables that have been deleted
- (NULL terminated) */
+ (NULL terminated). */
int
varobj_delete (struct varobj *var, char ***dellist, int only_children)
@@ -733,17 +734,17 @@ varobj_delete (struct varobj *var, char ***dellist, int only_children)
struct cpstack *result = NULL;
char **cp;
- /* Initialize a stack for temporary results */
+ /* Initialize a stack for temporary results. */
cppush (&result, NULL);
if (only_children)
- /* Delete only the variable children */
+ /* Delete only the variable children. */
delcount = delete_variable (&result, var, 1 /* only the children */ );
else
- /* Delete the variable and all its children */
+ /* Delete the variable and all its children. */
delcount = delete_variable (&result, var, 0 /* parent+children */ );
- /* We may have been asked to return a list of what has been deleted */
+ /* We may have been asked to return a list of what has been deleted. */
if (dellist != NULL)
{
*dellist = xmalloc ((delcount + 1) * sizeof (char *));
@@ -788,7 +789,7 @@ instantiate_pretty_printer (PyObject *constructor, struct value *value)
#endif
-/* Set/Get variable object display format */
+/* Set/Get variable object display format. */
enum varobj_display_formats
varobj_set_display_format (struct varobj *var,
@@ -855,7 +856,7 @@ varobj_has_more (struct varobj *var, int to)
/* If the variable object is bound to a specific thread, that
is its evaluation can always be done in context of a frame
inside that thread, returns GDB id of the thread -- which
- is always positive. Otherwise, returns -1. */
+ is always positive. Otherwise, returns -1. */
int
varobj_get_thread_id (struct varobj *var)
{
@@ -1119,7 +1120,7 @@ varobj_get_num_children (struct varobj *var)
}
/* Creates a list of the immediate children of a variable object;
- the return code is the number of such children or -1 on error */
+ the return code is the number of such children or -1 on error. */
VEC (varobj_p)*
varobj_list_children (struct varobj *var, int *from, int *to)
@@ -1187,12 +1188,12 @@ varobj_add_child (struct varobj *var, const char *name, struct value *value)
#endif /* HAVE_PYTHON */
/* Obtain the type of an object Variable as a string similar to the one gdb
- prints on the console */
+ prints on the console. */
char *
varobj_get_type (struct varobj *var)
{
- /* For the "fake" variables, do not return a type. (It's type is
+ /* For the "fake" variables, do not return a type. (It's type is
NULL, too.)
Do not return a type for invalid variables as well. */
if (CPLUS_FAKE_CHILD (var) || !var->root->is_valid)
@@ -1238,7 +1239,7 @@ varobj_get_attributes (struct varobj *var)
int attributes = 0;
if (varobj_editable_p (var))
- /* FIXME: define masks for attributes */
+ /* FIXME: define masks for attributes. */
attributes |= 0x00000001; /* Editable */
return attributes;
@@ -1264,8 +1265,8 @@ varobj_get_value (struct varobj *var)
}
/* Set the value of an object variable (if it is editable) to the
- value of the given expression */
-/* Note: Invokes functions that can call error() */
+ value of the given expression. */
+/* Note: Invokes functions that can call error(). */
int
varobj_set_value (struct varobj *var, char *expression)
@@ -1273,8 +1274,8 @@ varobj_set_value (struct varobj *var, char *expression)
struct value *val;
/* The argument "expression" contains the variable's new value.
- We need to first construct a legal expression for this -- ugh! */
- /* Does this cover all the bases? */
+ We need to first construct a legal expression for this -- ugh! */
+ /* Does this cover all the bases? */
struct expression *exp;
struct value *value;
int saved_input_radix = input_radix;
@@ -1282,11 +1283,11 @@ varobj_set_value (struct varobj *var, char *expression)
gdb_assert (varobj_editable_p (var));
- input_radix = 10; /* ALWAYS reset to decimal temporarily */
+ input_radix = 10; /* ALWAYS reset to decimal temporarily. */
exp = parse_exp_1 (&s, 0, 0);
if (!gdb_evaluate_expression (exp, &value))
{
- /* We cannot proceed without a valid expression. */
+ /* We cannot proceed without a valid expression. */
xfree (exp);
return 0;
}
@@ -1319,7 +1320,7 @@ varobj_set_value (struct varobj *var, char *expression)
variable as changed -- because the first assignment has set the
'updated' flag. There's no need to optimize that, because return value
of -var-update should be considered an approximation. */
- var->updated = install_new_value (var, val, 0 /* Compare values. */);
+ var->updated = install_new_value (var, val, 0 /* Compare values. */);
input_radix = saved_input_radix;
return 1;
}
@@ -1437,12 +1438,12 @@ install_new_value_visualizer (struct varobj *var)
this is the first assignement after the variable object was just
created, or changed type. In that case, just assign the value
and return 0.
- Otherwise, assign the new value, and return 1 if the value is different
- from the current one, 0 otherwise. The comparison is done on textual
- representation of value. Therefore, some types need not be compared. E.g.
- for structures the reported value is always "{...}", so no comparison is
- necessary here. If the old value was NULL and new one is not, or vice versa,
- we always return 1.
+ Otherwise, assign the new value, and return 1 if the value is
+ different from the current one, 0 otherwise. The comparison is
+ done on textual representation of value. Therefore, some types
+ need not be compared. E.g. for structures the reported value is
+ always "{...}", so no comparison is necessary here. If the old
+ value was NULL and new one is not, or vice versa, we always return 1.
The VALUE parameter should not be released -- the function will
take care of releasing it when needed. */
@@ -1457,12 +1458,12 @@ install_new_value (struct varobj *var, struct value *value, int initial)
/* We need to know the varobj's type to decide if the value should
be fetched or not. C++ fake children (public/protected/private)
- don't have a type. */
+ don't have a type. */
gdb_assert (var->type || CPLUS_FAKE_CHILD (var));
changeable = varobj_value_is_changeable_p (var);
/* If the type has custom visualizer, we consider it to be always
- changeable. FIXME: need to make sure this behaviour will not
+ changeable. FIXME: need to make sure this behaviour will not
mess up read-sensitive values. */
if (var->pretty_printer)
changeable = 1;
@@ -1532,7 +1533,7 @@ install_new_value (struct varobj *var, struct value *value, int initial)
/* If the value of the varobj was changed by -var-set-value,
then the value in the varobj and in the target is the same.
However, that value is different from the value that the
- varobj had after the previous -var-update. So need to the
+ varobj had after the previous -var-update. So need to the
varobj as changed. */
if (var->updated)
{
@@ -1552,7 +1553,7 @@ install_new_value (struct varobj *var, struct value *value, int initial)
changed = 1;
}
else if (var->value == NULL && value == NULL)
- /* Equal. */
+ /* Equal. */
;
else if (var->value == NULL || value == NULL)
{
@@ -1678,10 +1679,10 @@ varobj_set_visualizer (struct varobj *var, const char *visualizer)
The EXPLICIT parameter specifies if this call is result
of MI request to update this specific variable, or
- result of implicit -var-update *. For implicit request, we don't
+ result of implicit -var-update *. For implicit request, we don't
update frozen variables.
- NOTE: This function may delete the caller's varobj. If it
+ NOTE: This function may delete the caller's varobj. If it
returns TYPE_CHANGED, then it has done this and VARP will be modified
to point to the new varobj. */
@@ -1719,9 +1720,9 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
r.varobj = *varp;
r.status = VAROBJ_IN_SCOPE;
- /* Update the root variable. value_of_root can return NULL
+ /* Update the root variable. value_of_root can return NULL
if the variable is no longer around, i.e. we stepped out of
- the frame in which a local existed. We are letting the
+ the frame in which a local existed. We are letting the
value_of_root variable dispose of the varobj if the type
has changed. */
new = value_of_root (varp, &type_changed);
@@ -1774,7 +1775,7 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
/* We probably should not get children of a varobj that has a
pretty-printer, but for which -var-list-children was never
- invoked. */
+ invoked. */
if (v->pretty_printer)
{
VEC (varobj_p) *changed = 0, *new = 0, *unchanged = 0;
@@ -1903,10 +1904,10 @@ delete_variable (struct cpstack **resultp, struct varobj *var,
return delcount;
}
-/* Delete the variable object VAR and its children */
+/* Delete the variable object VAR and its children. */
/* IMPORTANT NOTE: If we delete a variable which is a child
and the parent is not removed we dump core. It must be always
- initially called with remove_from_parent_p set */
+ initially called with remove_from_parent_p set. */
static void
delete_variable_1 (struct cpstack **resultp, int *delcountp,
struct varobj *var, int only_children_p,
@@ -1914,7 +1915,7 @@ delete_variable_1 (struct cpstack **resultp, int *delcountp,
{
int i;
- /* Delete any children of this variable, too. */
+ /* Delete any children of this variable, too. */
for (i = 0; i < VEC_length (varobj_p, var->children); ++i)
{
varobj_p child = VEC_index (varobj_p, var->children, i);
@@ -1927,24 +1928,24 @@ delete_variable_1 (struct cpstack **resultp, int *delcountp,
}
VEC_free (varobj_p, var->children);
- /* if we were called to delete only the children we are done here */
+ /* if we were called to delete only the children we are done here. */
if (only_children_p)
return;
- /* Otherwise, add it to the list of deleted ones and proceed to do so */
+ /* Otherwise, add it to the list of deleted ones and proceed to do so. */
/* If the name is null, this is a temporary variable, that has not
- yet been installed, don't report it, it belongs to the caller... */
+ yet been installed, don't report it, it belongs to the caller... */
if (var->obj_name != NULL)
{
cppush (resultp, xstrdup (var->obj_name));
*delcountp = *delcountp + 1;
}
- /* If this variable has a parent, remove it from its parent's list */
+ /* If this variable has a parent, remove it from its parent's list. */
/* OPTIMIZATION: if the parent of this variable is also being deleted,
(as indicated by remove_from_parent_p) we don't bother doing an
expensive list search to find the element to remove when we are
- discarding the list afterwards */
+ discarding the list afterwards. */
if ((remove_from_parent_p) && (var->parent != NULL))
{
VEC_replace (varobj_p, var->parent->children, var->index, NULL);
@@ -1953,11 +1954,11 @@ delete_variable_1 (struct cpstack **resultp, int *delcountp,
if (var->obj_name != NULL)
uninstall_variable (var);
- /* Free memory associated with this variable */
+ /* Free memory associated with this variable. */
free_variable (var);
}
-/* Install the given variable VAR with the object name VAR->OBJ_NAME. */
+/* Install the given variable VAR with the object name VAR->OBJ_NAME. */
static int
install_variable (struct varobj *var)
{
@@ -1979,16 +1980,16 @@ install_variable (struct varobj *var)
if (cv != NULL)
error (_("Duplicate variable object name"));
- /* Add varobj to hash table */
+ /* Add varobj to hash table. */
newvl = xmalloc (sizeof (struct vlist));
newvl->next = *(varobj_table + index);
newvl->var = var;
*(varobj_table + index) = newvl;
- /* If root, add varobj to root list */
+ /* If root, add varobj to root list. */
if (is_root_p (var))
{
- /* Add to list of root variables */
+ /* Add to list of root variables. */
if (rootlist == NULL)
var->root->next = NULL;
else
@@ -1999,7 +2000,7 @@ install_variable (struct varobj *var)
return 1; /* OK */
}
-/* Unistall the object VAR. */
+/* Unistall the object VAR. */
static void
uninstall_variable (struct varobj *var)
{
@@ -2011,7 +2012,7 @@ uninstall_variable (struct varobj *var)
unsigned int index = 0;
unsigned int i = 1;
- /* Remove varobj from hash table */
+ /* Remove varobj from hash table. */
for (chp = var->obj_name; *chp; chp++)
{
index = (index + (i++ * (unsigned int) *chp)) % VAROBJ_TABLE_SIZE;
@@ -2043,10 +2044,10 @@ uninstall_variable (struct varobj *var)
xfree (cv);
- /* If root, remove varobj from root list */
+ /* If root, remove varobj from root list. */
if (is_root_p (var))
{
- /* Remove from list of root variables */
+ /* Remove from list of root variables. */
if (rootlist == var->root)
rootlist = var->root->next;
else
@@ -2074,7 +2075,7 @@ uninstall_variable (struct varobj *var)
}
-/* Create and install a child of the parent of the given name */
+/* Create and install a child of the parent of the given name. */
static struct varobj *
create_child (struct varobj *parent, int index, char *name)
{
@@ -2091,7 +2092,7 @@ create_child_with_value (struct varobj *parent, int index, const char *name,
child = new_variable ();
- /* name is allocated by name_of_child */
+ /* Name is allocated by name_of_child. */
/* FIXME: xstrdup should not be here. */
child->name = xstrdup (name);
child->index = index;
@@ -2105,10 +2106,10 @@ create_child_with_value (struct varobj *parent, int index, const char *name,
calling install_new_value. */
if (value != NULL)
/* If the child had no evaluation errors, var->value
- will be non-NULL and contain a valid type. */
+ will be non-NULL and contain a valid type. */
child->type = value_type (value);
else
- /* Otherwise, we must compute the type. */
+ /* Otherwise, we must compute the type. */
child->type = (*child->root->lang->type_of_child) (child->parent,
child->index);
install_new_value (child, value, 1);
@@ -2121,7 +2122,7 @@ create_child_with_value (struct varobj *parent, int index, const char *name,
* Miscellaneous utility functions.
*/
-/* Allocate memory and initialize a new variable */
+/* Allocate memory and initialize a new variable. */
static struct varobj *
new_variable (void)
{
@@ -2154,7 +2155,7 @@ new_variable (void)
return var;
}
-/* Allocate memory and initialize a new root variable */
+/* Allocate memory and initialize a new root variable. */
static struct varobj *
new_root_variable (void)
{
@@ -2172,7 +2173,7 @@ new_root_variable (void)
return var;
}
-/* Free any allocated memory associated with VAR. */
+/* Free any allocated memory associated with VAR. */
static void
free_variable (struct varobj *var)
{
@@ -2190,7 +2191,7 @@ free_variable (struct varobj *var)
value_free (var->value);
- /* Free the expression if this is a root variable. */
+ /* Free the expression if this is a root variable. */
if (is_root_p (var))
{
xfree (var->root->exp);
@@ -2216,11 +2217,11 @@ make_cleanup_free_variable (struct varobj *var)
return make_cleanup (do_free_variable_cleanup, var);
}
-/* This returns the type of the variable. It also skips past typedefs
+/* This returns the type of the variable. It also skips past typedefs
to return the real type of the variable.
NOTE: TYPE_TARGET_TYPE should NOT be used anywhere in this file
- except within get_target_type and get_type. */
+ except within get_target_type and get_type. */
static struct type *
get_type (struct varobj *var)
{
@@ -2235,7 +2236,7 @@ get_type (struct varobj *var)
/* Return the type of the value that's stored in VAR,
or that would have being stored there if the
- value were accessible.
+ value were accessible.
This differs from VAR->type in that VAR->type is always
the true type of the expession in the source language.
@@ -2268,7 +2269,7 @@ get_value_type (struct varobj *var)
past typedefs, just like get_type ().
NOTE: TYPE_TARGET_TYPE should NOT be used anywhere in this file
- except within get_target_type and get_type. */
+ except within get_target_type and get_type. */
static struct type *
get_target_type (struct type *type)
{
@@ -2283,14 +2284,14 @@ get_target_type (struct type *type)
}
/* What is the default display for this variable? We assume that
- everything is "natural". Any exceptions? */
+ everything is "natural". Any exceptions? */
static enum varobj_display_formats
variable_default_display (struct varobj *var)
{
return FORMAT_NATURAL;
}
-/* FIXME: The following should be generic for any pointer */
+/* FIXME: The following should be generic for any pointer. */
static void
cppush (struct cpstack **pstack, char *name)
{
@@ -2302,7 +2303,7 @@ cppush (struct cpstack **pstack, char *name)
*pstack = s;
}
-/* FIXME: The following should be generic for any pointer */
+/* FIXME: The following should be generic for any pointer. */
static char *
cppop (struct cpstack **pstack)
{
@@ -2326,7 +2327,7 @@ cppop (struct cpstack **pstack)
/* Common entry points */
-/* Get the language of variable VAR. */
+/* Get the language of variable VAR. */
static enum varobj_languages
variable_language (struct varobj *var)
{
@@ -2351,9 +2352,9 @@ variable_language (struct varobj *var)
/* Return the number of children for a given variable.
The result of this function is defined by the language
- implementation. The number of children returned by this function
+ implementation. The number of children returned by this function
is the number of children that the user will see in the variable
- display. */
+ display. */
static int
number_of_children (struct varobj *var)
{
@@ -2361,7 +2362,7 @@ number_of_children (struct varobj *var)
}
/* What is the expression for the root varobj VAR? Returns a malloc'd
- string. */
+ string. */
static char *
name_of_variable (struct varobj *var)
{
@@ -2369,7 +2370,7 @@ name_of_variable (struct varobj *var)
}
/* What is the name of the INDEX'th child of VAR? Returns a malloc'd
- string. */
+ string. */
static char *
name_of_child (struct varobj *var, int index)
{
@@ -2396,7 +2397,7 @@ value_of_root (struct varobj **var_handle, int *type_changed)
var = *var_handle;
/* This should really be an exception, since this should
- only get called with a root variable. */
+ only get called with a root variable. */
if (!is_root_p (var))
return NULL;
@@ -2453,7 +2454,7 @@ value_of_root (struct varobj **var_handle, int *type_changed)
return (*var->root->lang->value_of_root) (var_handle);
}
-/* What is the ``struct value *'' for the INDEX'th child of PARENT? */
+/* What is the ``struct value *'' for the INDEX'th child of PARENT? */
static struct value *
value_of_child (struct varobj *parent, int index)
{
@@ -2464,7 +2465,7 @@ value_of_child (struct varobj *parent, int index)
return value;
}
-/* GDB already has a command called "value_of_variable". Sigh. */
+/* GDB already has a command called "value_of_variable". Sigh. */
static char *
my_value_of_variable (struct varobj *var, enum varobj_display_formats format)
{
@@ -2668,12 +2669,12 @@ varobj_floating_p (struct varobj *var)
for getting children of the variable object.
This includes dereferencing top-level references
to all types and dereferencing pointers to
- structures.
+ structures.
- Both TYPE and *TYPE should be non-null. VALUE
+ Both TYPE and *TYPE should be non-null. VALUE
can be null if we want to only translate type.
*VALUE can be null as well -- if the parent
- value is not known.
+ value is not known.
If WAS_PTR is not NULL, set *WAS_PTR to 0 or 1
depending on whether pointer was dereferenced
@@ -2752,14 +2753,14 @@ c_number_of_children (struct varobj *var)
break;
case TYPE_CODE_PTR:
- /* The type here is a pointer to non-struct. Typically, pointers
+ /* The type here is a pointer to non-struct. Typically, pointers
have one child, except for function ptrs, which have no children,
and except for void*, as we don't know what to show.
We can show char* so we allow it to be dereferenced. If you decide
to test for it, please mind that a little magic is necessary to
properly identify it: char* has TYPE_CODE == TYPE_CODE_INT and
- TYPE_NAME == "char" */
+ TYPE_NAME == "char". */
if (TYPE_CODE (target) == TYPE_CODE_FUNC
|| TYPE_CODE (target) == TYPE_CODE_VOID)
children = 0;
@@ -2768,7 +2769,7 @@ c_number_of_children (struct varobj *var)
break;
default:
- /* Other types have no children */
+ /* Other types have no children. */
break;
}
@@ -2783,7 +2784,7 @@ c_name_of_variable (struct varobj *parent)
/* Return the value of element TYPE_INDEX of a structure
value VALUE. VALUE's type should be a structure,
- or union, or a typedef to struct/union.
+ or union, or a typedef to struct/union.
Returns NULL if getting the value fails. Never throws. */
static struct value *
@@ -2816,7 +2817,7 @@ value_struct_element_index (struct value *value, int type_index)
}
/* Obtain the information about child INDEX of the variable
- object PARENT.
+ object PARENT.
If CNAME is not null, sets *CNAME to the name of the child relative
to the parent.
If CVALUE is not null, sets *CVALUE to the value of the child.
@@ -2925,12 +2926,12 @@ c_describe_child (struct varobj *parent, int index,
break;
default:
- /* This should not happen */
+ /* This should not happen. */
if (cname)
*cname = xstrdup ("???");
if (cfull_expression)
*cfull_expression = xstrdup ("???");
- /* Don't set value and type, we don't know then. */
+ /* Don't set value and type, we don't know then. */
}
}
@@ -2983,14 +2984,14 @@ c_value_of_root (struct varobj **var_handle)
int within_scope = 0;
struct cleanup *back_to;
- /* Only root variables can be updated... */
+ /* Only root variables can be updated... */
if (!is_root_p (var))
- /* Not a root var */
+ /* Not a root var. */
return NULL;
back_to = make_cleanup_restore_current_thread ();
- /* Determine whether the variable is still around. */
+ /* Determine whether the variable is still around. */
if (var->root->valid_block == NULL || var->root->floating)
within_scope = 1;
else if (var->root->thread_id == 0)
@@ -3055,7 +3056,7 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
if (var->pretty_printer && var->print_value)
return xstrdup (var->print_value);
- /* Strip top-level references. */
+ /* Strip top-level references. */
while (TYPE_CODE (type) == TYPE_CODE_REF)
type = check_typedef (TYPE_TARGET_TYPE (type));
@@ -3080,8 +3081,8 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
if (var->value == NULL)
{
/* This can happen if we attempt to get the value of a struct
- member when the parent is an invalid pointer. This is an
- error condition, so we should tell the caller. */
+ member when the parent is an invalid pointer. This is an
+ error condition, so we should tell the caller. */
return NULL;
}
else
@@ -3096,7 +3097,7 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
gdb_assert (!value_lazy (var->value));
/* If the specified format is the current one,
- we can reuse print_value */
+ we can reuse print_value. */
if (format == var->format)
return xstrdup (var->print_value);
else
@@ -3136,11 +3137,11 @@ cplus_number_of_children (struct varobj *var)
if (kids[v_protected] != 0)
children++;
- /* Add any baseclasses */
+ /* Add any baseclasses. */
children += TYPE_N_BASECLASSES (type);
dont_know = 0;
- /* FIXME: save children in var */
+ /* FIXME: save children in var. */
}
}
else
@@ -3168,7 +3169,7 @@ cplus_number_of_children (struct varobj *var)
/* Compute # of public, private, and protected variables in this class.
That means we need to descend into all baseclasses and find out
- how many are there, too. */
+ how many are there, too. */
static void
cplus_class_num_children (struct type *type, int children[3])
{
@@ -3270,7 +3271,7 @@ cplus_describe_child (struct varobj *parent, int index,
particular access control type ("public","protected",
or "private"). We must skip over fields that don't
have the access control we are looking for to properly
- find the indexed field. */
+ find the indexed field. */
int type_index = TYPE_N_BASECLASSES (type);
enum accessibility acc = public_field;
int vptr_fieldno;
@@ -3326,7 +3327,7 @@ cplus_describe_child (struct varobj *parent, int index,
{
char *ptr = was_ptr ? "*" : "";
- /* Cast the parent to the base' type. Note that in gdb,
+ /* Cast the parent to the base' type. Note that in gdb,
expression like
(Base1)d
will create an lvalue, for all appearences, so we don't
@@ -3351,7 +3352,7 @@ cplus_describe_child (struct varobj *parent, int index,
only be "public", "private", or "protected"
The special "fake" children are always output by varobj in
- this order. So if INDEX == 2, it MUST be "protected". */
+ this order. So if INDEX == 2, it MUST be "protected". */
index -= TYPE_N_BASECLASSES (type);
switch (index)
{
@@ -3375,11 +3376,11 @@ cplus_describe_child (struct varobj *parent, int index,
access = "protected";
break;
case 2:
- /* Must be protected */
+ /* Must be protected. */
access = "protected";
break;
default:
- /* error! */
+ /* error! */
break;
}
@@ -3443,7 +3444,7 @@ cplus_value_of_variable (struct varobj *var,
{
/* If we have one of our special types, don't print out
- any value. */
+ any value. */
if (CPLUS_FAKE_CHILD (var))
return xstrdup ("");
@@ -3465,7 +3466,7 @@ java_name_of_variable (struct varobj *parent)
name = cplus_name_of_variable (parent);
/* If the name has "-" in it, it is because we
- needed to escape periods in the name... */
+ needed to escape periods in the name... */
p = name;
while (*p != '\000')
@@ -3484,7 +3485,7 @@ java_name_of_child (struct varobj *parent, int index)
char *name, *p;
name = cplus_name_of_child (parent, index);
- /* Escape any periods in the name... */
+ /* Escape any periods in the name... */
p = name;
while (*p != '\000')