GDB (xrefs)
|
#include "defs.h"
#include "value.h"
#include "varobj.h"
#include "gdbthread.h"
#include "valprint.h"
Go to the source code of this file.
Macros | |
#define | ANONYMOUS_STRUCT_NAME _("<anonymous struct>") |
#define | ANONYMOUS_UNION_NAME _("<anonymous union>") |
Enumerations | |
enum | vsections { v_public = 0, v_private, v_protected } |
enum | accessibility { private_field, protected_field, public_field } |
Functions | |
static void | cplus_class_num_children (struct type *type, int children[3]) |
int | varobj_is_anonymous_child (const struct varobj *child) |
static void | adjust_value_for_child_access (struct value **value, struct type **type, int *was_ptr, int lookup_actual_type) |
static int | c_is_path_expr_parent (const struct varobj *var) |
static int | c_number_of_children (const struct varobj *var) |
static char * | c_name_of_variable (const struct varobj *parent) |
static struct value * | value_struct_element_index (struct value *value, int type_index) |
static void | c_describe_child (const struct varobj *parent, int index, char **cname, struct value **cvalue, struct type **ctype, char **cfull_expression) |
static char * | c_name_of_child (const struct varobj *parent, int index) |
static char * | c_path_expr_of_child (const struct varobj *child) |
static struct value * | c_value_of_child (const struct varobj *parent, int index) |
static struct type * | c_type_of_child (const struct varobj *parent, int index) |
static struct type * | get_type (const struct varobj *var) |
static char * | c_value_of_variable (const struct varobj *var, enum varobj_display_formats format) |
static int | cplus_number_of_children (const struct varobj *var) |
static char * | cplus_name_of_variable (const struct varobj *parent) |
static int | match_accessibility (struct type *type, int index, enum accessibility acc) |
static void | cplus_describe_child (const struct varobj *parent, int index, char **cname, struct value **cvalue, struct type **ctype, char **cfull_expression) |
static char * | cplus_name_of_child (const struct varobj *parent, int index) |
static char * | cplus_path_expr_of_child (const struct varobj *child) |
static struct value * | cplus_value_of_child (const struct varobj *parent, int index) |
static struct type * | cplus_type_of_child (const struct varobj *parent, int index) |
static char * | cplus_value_of_variable (const struct varobj *var, enum varobj_display_formats format) |
Variables | |
const struct lang_varobj_ops | c_varobj_ops |
const struct lang_varobj_ops | cplus_varobj_ops |
#define ANONYMOUS_STRUCT_NAME _("<anonymous struct>") |
Definition at line 27 of file c-varobj.c.
Referenced by c_describe_child(), cplus_describe_child(), and varobj_is_anonymous_child().
#define ANONYMOUS_UNION_NAME _("<anonymous union>") |
Definition at line 28 of file c-varobj.c.
Referenced by c_describe_child(), cplus_describe_child(), and varobj_is_anonymous_child().
enum accessibility |
Enumerator | |
---|---|
private_field | |
protected_field | |
public_field |
Definition at line 686 of file c-varobj.c.
enum vsections |
Enumerator | |
---|---|
v_public | |
v_private | |
v_protected |
Definition at line 560 of file c-varobj.c.
|
static |
Definition at line 65 of file c-varobj.c.
References CATCH, check_typedef(), END_CATCH, gdb_assert, get_target_type(), RETURN_MASK_ERROR, TRY, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, value_actual_type(), value_cast(), and value_ind().
Referenced by c_describe_child(), c_is_path_expr_parent(), c_number_of_children(), cplus_describe_child(), and cplus_number_of_children().
|
static |
Definition at line 285 of file c-varobj.c.
References adjust_value_for_child_access(), ANONYMOUS_STRUCT_NAME, ANONYMOUS_UNION_NAME, CATCH, END_CATCH, field_name(), get_target_type(), int_string(), varobj::name, RETURN_MASK_ERROR, TRY, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_INDEX_TYPE, TYPE_LOW_BOUND, TYPE_TARGET_TYPE, varobj::value, value_ind(), value_struct_element_index(), value_subscript(), varobj_get_path_expr(), varobj_get_path_expr_parent(), varobj_get_value_type(), and xstrprintf().
Referenced by c_name_of_child(), c_path_expr_of_child(), c_type_of_child(), c_value_of_child(), and cplus_describe_child().
Definition at line 135 of file c-varobj.c.
References adjust_value_for_child_access(), CPLUS_FAKE_CHILD, field_name(), gdb_assert, varobj::index, varobj::parent, type, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_NAME, TYPE_NAME, TYPE_NFIELDS, TYPE_TAG_NAME, varobj_get_gdb_type(), and varobj_get_value_type().
Definition at line 431 of file c-varobj.c.
References c_describe_child(), and name.
Definition at line 235 of file c-varobj.c.
References varobj::name.
Referenced by cplus_name_of_variable().
Definition at line 184 of file c-varobj.c.
References adjust_value_for_child_access(), get_target_type(), TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_LENGTH, TYPE_NFIELDS, and varobj_get_value_type().
Referenced by cplus_number_of_children().
Definition at line 440 of file c-varobj.c.
References c_describe_child(), varobj::index, and varobj::parent.
Definition at line 459 of file c-varobj.c.
References c_describe_child(), and type.
Definition at line 450 of file c-varobj.c.
References c_describe_child().
|
static |
Definition at line 483 of file c-varobj.c.
References check_typedef(), varobj::format, gdb_assert, get_type(), varobj::not_fetched, varobj::num_children, varobj::print_value, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_TARGET_TYPE, varobj::value, value_lazy(), varobj_value_get_print_value(), varobj_value_is_changeable_p(), and xstrprintf().
Referenced by cplus_value_of_variable().
Definition at line 652 of file c-varobj.c.
References get_vptr_fieldno(), TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_PRIVATE, TYPE_FIELD_PROTECTED, TYPE_N_BASECLASSES, TYPE_NFIELDS, v_private, v_protected, and v_public.
Referenced by cplus_describe_child(), and cplus_number_of_children().
|
static |
Definition at line 706 of file c-varobj.c.
References adjust_value_for_child_access(), ANONYMOUS_STRUCT_NAME, ANONYMOUS_UNION_NAME, c_describe_child(), cplus_class_num_children(), CPLUS_FAKE_CHILD, field_name(), gdb_assert, get_user_print_options(), get_vptr_fieldno(), if(), match_accessibility(), varobj::name, value_print_options::objectprint, varobj::parent, private_field, protected_field, public_field, type, varobj::type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_N_BASECLASSES, v_private, v_public, varobj::value, value_cast(), value_struct_element_index(), varobj_get_path_expr(), varobj_get_path_expr_parent(), varobj_get_value_type(), and xstrprintf().
Referenced by cplus_name_of_child(), cplus_path_expr_of_child(), cplus_type_of_child(), and cplus_value_of_child().
Definition at line 907 of file c-varobj.c.
References cplus_describe_child(), and name.
Definition at line 681 of file c-varobj.c.
References c_name_of_variable().
Definition at line 568 of file c-varobj.c.
References adjust_value_for_child_access(), c_number_of_children(), cplus_class_num_children(), CPLUS_FAKE_CHILD, get_user_print_options(), varobj::name, value_print_options::objectprint, varobj::parent, type, varobj::type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_N_BASECLASSES, v_private, v_protected, v_public, varobj::value, and varobj_get_value_type().
Definition at line 916 of file c-varobj.c.
References cplus_describe_child(), varobj::index, and varobj::parent.
Definition at line 935 of file c-varobj.c.
References cplus_describe_child(), and type.
Definition at line 926 of file c-varobj.c.
References cplus_describe_child().
|
static |
Definition at line 944 of file c-varobj.c.
References c_value_of_variable(), and CPLUS_FAKE_CHILD.
Definition at line 471 of file c-varobj.c.
References check_typedef(), type, and varobj::type.
Referenced by c_value_of_variable().
|
static |
Definition at line 692 of file c-varobj.c.
References private_field, protected_field, public_field, TYPE_FIELD_PRIVATE, and TYPE_FIELD_PROTECTED.
Referenced by cplus_describe_child().
Definition at line 247 of file c-varobj.c.
References CATCH, check_typedef(), END_CATCH, field_is_static(), gdb_assert, RETURN_MASK_ERROR, TRY, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, value_primitive_field(), value_static_field(), and value_type().
Referenced by c_describe_child(), and cplus_describe_child().
Definition at line 38 of file c-varobj.c.
References ANONYMOUS_STRUCT_NAME, ANONYMOUS_UNION_NAME, and varobj::name.
Referenced by create_child_with_value().
const struct lang_varobj_ops c_varobj_ops |
Definition at line 545 of file c-varobj.c.
Referenced by ada_name_of_variable().
const struct lang_varobj_ops cplus_varobj_ops |
Definition at line 959 of file c-varobj.c.
Referenced by java_name_of_child(), java_name_of_variable(), java_number_of_children(), java_type_of_child(), java_value_of_child(), and java_value_of_variable().