GDB (xrefs)
Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/c-varobj.c File Reference
#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])
 
bool 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 bool c_is_path_expr_parent (const struct varobj *var)
 
static int c_number_of_children (const struct varobj *var)
 
static std::string c_name_of_variable (const struct varobj *parent)
 
static struct valuevalue_struct_element_index (struct value *value, int type_index)
 
static void c_describe_child (const struct varobj *parent, int index, std::string *cname, struct value **cvalue, struct type **ctype, std::string *cfull_expression)
 
static std::string c_name_of_child (const struct varobj *parent, int index)
 
static std::string c_path_expr_of_child (const struct varobj *child)
 
static struct valuec_value_of_child (const struct varobj *parent, int index)
 
static struct typec_type_of_child (const struct varobj *parent, int index)
 
static struct typeget_type (const struct varobj *var)
 
static std::string c_value_of_variable (const struct varobj *var, enum varobj_display_formats format)
 
static int cplus_number_of_children (const struct varobj *var)
 
static std::string 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, std::string *cname, struct value **cvalue, struct type **ctype, std::string *cfull_expression)
 
static std::string cplus_name_of_child (const struct varobj *parent, int index)
 
static std::string cplus_path_expr_of_child (const struct varobj *child)
 
static struct valuecplus_value_of_child (const struct varobj *parent, int index)
 
static struct typecplus_type_of_child (const struct varobj *parent, int index)
 
static std::string 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
 

Macro Definition Documentation

◆ ANONYMOUS_STRUCT_NAME

#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().

◆ ANONYMOUS_UNION_NAME

#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().

Enumeration Type Documentation

◆ accessibility

Enumerator
private_field 
protected_field 
public_field 

Definition at line 680 of file c-varobj.c.

◆ vsections

enum vsections
Enumerator
v_public 
v_private 
v_protected 

Definition at line 554 of file c-varobj.c.

Function Documentation

◆ adjust_value_for_child_access()

static void adjust_value_for_child_access ( struct value **  value,
struct type **  type,
int *  was_ptr,
int  lookup_actual_type 
)
static

◆ c_describe_child()

static void c_describe_child ( const struct varobj parent,
int  index,
std::string cname,
struct value **  cvalue,
struct type **  ctype,
std::string cfull_expression 
)
static

◆ c_is_path_expr_parent()

static bool c_is_path_expr_parent ( const struct varobj var)
static

◆ c_name_of_child()

static std::string c_name_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 430 of file c-varobj.c.

References c_describe_child(), name, and string.

◆ c_name_of_variable()

static std::string c_name_of_variable ( const struct varobj parent)
static

Definition at line 235 of file c-varobj.c.

References varobj::name.

Referenced by cplus_name_of_variable().

◆ c_number_of_children()

static int c_number_of_children ( const struct varobj var)
static

◆ c_path_expr_of_child()

static std::string c_path_expr_of_child ( const struct varobj child)
static

Definition at line 439 of file c-varobj.c.

References c_describe_child(), varobj::index, varobj::parent, and string.

◆ c_type_of_child()

static struct type* c_type_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 458 of file c-varobj.c.

References c_describe_child(), and type.

◆ c_value_of_child()

static struct value* c_value_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 449 of file c-varobj.c.

References c_describe_child(), and value::parent.

◆ c_value_of_variable()

static std::string c_value_of_variable ( const struct varobj var,
enum varobj_display_formats  format 
)
static

◆ cplus_class_num_children()

static void cplus_class_num_children ( struct type type,
int  children[3] 
)
static

◆ cplus_describe_child()

static void cplus_describe_child ( const struct varobj parent,
int  index,
std::string cname,
struct value **  cvalue,
struct type **  ctype,
std::string cfull_expression 
)
static

◆ cplus_name_of_child()

static std::string cplus_name_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 901 of file c-varobj.c.

References cplus_describe_child(), name, and string.

◆ cplus_name_of_variable()

static std::string cplus_name_of_variable ( const struct varobj parent)
static

Definition at line 675 of file c-varobj.c.

References c_name_of_variable().

◆ cplus_number_of_children()

static int cplus_number_of_children ( const struct varobj var)
static

◆ cplus_path_expr_of_child()

static std::string cplus_path_expr_of_child ( const struct varobj child)
static

Definition at line 910 of file c-varobj.c.

References cplus_describe_child(), varobj::index, varobj::parent, and string.

◆ cplus_type_of_child()

static struct type* cplus_type_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 929 of file c-varobj.c.

References cplus_describe_child(), and type.

◆ cplus_value_of_child()

static struct value* cplus_value_of_child ( const struct varobj parent,
int  index 
)
static

Definition at line 920 of file c-varobj.c.

References cplus_describe_child(), and value::parent.

◆ cplus_value_of_variable()

static std::string cplus_value_of_variable ( const struct varobj var,
enum varobj_display_formats  format 
)
static

Definition at line 938 of file c-varobj.c.

References c_value_of_variable(), CPLUS_FAKE_CHILD, and string.

◆ get_type()

static struct type* get_type ( const struct varobj var)
static

Definition at line 470 of file c-varobj.c.

References check_typedef(), type, and varobj::type.

Referenced by c_value_of_variable().

◆ match_accessibility()

static int match_accessibility ( struct type type,
int  index,
enum accessibility  acc 
)
static

◆ value_struct_element_index()

static struct value* value_struct_element_index ( struct value value,
int  type_index 
)
static

◆ varobj_is_anonymous_child()

bool varobj_is_anonymous_child ( const struct varobj 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().

Variable Documentation

◆ c_varobj_ops

const struct lang_varobj_ops c_varobj_ops
Initial value:
=
{
NULL,
}
static std::string c_name_of_variable(const struct varobj *parent)
Definition: c-varobj.c:235
static std::string c_path_expr_of_child(const struct varobj *child)
Definition: c-varobj.c:439
bool varobj_default_value_is_changeable_p(const struct varobj *var)
Definition: varobj.c:2440
static struct value * c_value_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:449
static std::string c_name_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:430
static struct type * c_type_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:458
static bool c_is_path_expr_parent(const struct varobj *var)
Definition: c-varobj.c:135
static std::string c_value_of_variable(const struct varobj *var, enum varobj_display_formats format)
Definition: c-varobj.c:482
static int c_number_of_children(const struct varobj *var)
Definition: c-varobj.c:184

Definition at line 539 of file c-varobj.c.

Referenced by ada_name_of_variable().

◆ cplus_varobj_ops

const struct lang_varobj_ops cplus_varobj_ops
Initial value:
=
{
NULL,
}
static std::string cplus_value_of_variable(const struct varobj *var, enum varobj_display_formats format)
Definition: c-varobj.c:938
static std::string cplus_name_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:901
static struct value * cplus_value_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:920
bool varobj_default_value_is_changeable_p(const struct varobj *var)
Definition: varobj.c:2440
static struct type * cplus_type_of_child(const struct varobj *parent, int index)
Definition: c-varobj.c:929
static int cplus_number_of_children(const struct varobj *var)
Definition: c-varobj.c:562
static bool c_is_path_expr_parent(const struct varobj *var)
Definition: c-varobj.c:135
static std::string cplus_name_of_variable(const struct varobj *parent)
Definition: c-varobj.c:675
static std::string cplus_path_expr_of_child(const struct varobj *child)
Definition: c-varobj.c:910

Definition at line 953 of file c-varobj.c.