52 struct type *parent_type);
85 return std::move (buf.
string ());
94 struct type *parent_type,
96 struct value **child_value,
97 struct type **child_type)
111 *child_value =
value;
122 struct type *parent_type,
123 struct value **child_value,
124 struct type **child_type)
159 *child_value =
value;
170 struct type *parent_type,
172 struct value **child_value,
173 struct type **child_type)
180 struct value *index_value =
190 *child_value =
value;
232 struct type *parent_type)
236 if (parent_value == NULL
251 warning (
_(
"unable to get bounds of array, assuming null array"));
268 struct type *parent_type)
283 struct value *elt_value;
284 struct type *elt_type;
287 &elt_value, &elt_type);
299 (elt_value, elt_type);
326 struct type *parent_type)
345 struct type *parent_type)
396 struct type *parent_type,
397 const char *parent_name,
398 const char *parent_path_expr,
401 struct value **child_value,
402 struct type **child_type,
410 struct type *parent_type,
411 const char *parent_name,
412 const char *parent_path_expr,
415 struct value **child_value,
416 struct type **child_type,
424 for (fieldno = 0; fieldno <
TYPE_NFIELDS (parent_type); fieldno++)
431 struct value *elt_value;
432 struct type *elt_type;
436 &elt_value, &elt_type);
444 (elt_value, elt_type);
452 if (child_index - childno < elt_n_children)
461 (elt_value, elt_type, parent_name, parent_path_expr,
462 child_index - childno, child_name, child_value,
463 child_type, child_path_expr);
467 parent_name, parent_path_expr,
468 child_index - childno,
469 child_name, child_value,
470 child_type, child_path_expr);
476 childno += elt_n_children;
491 if (childno == child_index)
505 if (child_value && parent_value)
548 struct type *parent_type,
549 const char *parent_name,
550 const char *parent_path_expr,
553 struct value **child_value,
554 struct type **child_type,
560 if (child_value && parent_value)
567 *child_path_expr =
string_printf (
"(%s).all", parent_path_expr);
578 struct type *parent_type,
579 const char *parent_name,
580 const char *parent_path_expr,
583 struct value **child_value,
584 struct type **child_type,
587 struct type *index_type;
598 if (child_value && parent_value)
626 const char *index_type_name = NULL;
637 index_type_name =
ada_decode (index_type_name);
640 if (index_type_name != NULL)
644 index_type_name, index_img.c_str ());
647 string_printf (
"(%s)(%s)", parent_path_expr, index_img.c_str ());
655 struct type *parent_type,
656 const char *parent_name,
657 const char *parent_path_expr,
660 struct value **child_value,
661 struct type **child_type,
686 parent_name, parent_path_expr,
687 child_index, child_name,
688 child_value, child_type,
696 (parent_value, parent_type, parent_name, parent_path_expr,
697 child_index, child_name, child_value, child_type,
705 parent_name, parent_path_expr,
706 child_index, child_name,
707 child_value, child_type,
715 parent_name, parent_path_expr,
716 child_index, child_name,
717 child_value, child_type,
733 struct type *parent_type,
734 const char *parent_name,
int child_index)
739 NULL, child_index, &child_name, NULL,
751 struct type *parent_type,
752 const char *parent_name,
753 const char *parent_path_expr,
759 parent_path_expr, child_index, NULL,
760 NULL, NULL, &child_path_expr);
762 return child_path_expr;
768 static struct value *
770 struct type *parent_type,
771 const char *parent_name,
int child_index)
773 struct value *child_value;
776 NULL, child_index, NULL, &child_value,
787 struct type *parent_type,
790 struct type *child_type;
793 child_index, NULL, NULL, &child_type, NULL);
810 return std::move (
buffer.string ());
888 parent->
name.c_str (), index);
904 static struct value *
908 parent->name.c_str (), index);
984 for (
int i = from; i < to; i++)
986 var->
name.c_str (), i)
static void ada_varobj_describe_simple_array_child(struct value *parent_value, struct type *parent_type, const char *parent_name, const char *parent_path_expr, int child_index, std::string *child_name, struct value **child_value, struct type **child_type, std::string *child_path_expr)
static std::string ada_name_of_variable(const struct varobj *parent)
struct value * ada_get_decoded_value(struct value *value)
static void ada_varobj_simple_array_elt(struct value *parent_value, struct type *parent_type, int elt_index, struct value **child_value, struct type **child_type)
static void ada_varobj_describe_ptr_child(struct value *parent_value, struct type *parent_type, const char *parent_name, const char *parent_path_expr, int child_index, std::string *child_name, struct value **child_value, struct type **child_type, std::string *child_path_expr)
#define TYPE_FIELD_NAME(thistype, n)
std::string(* name_of_variable)(const struct varobj *parent)
const struct lang_varobj_ops ada_varobj_ops
static int ada_varobj_get_struct_number_of_children(struct value *parent_value, struct type *parent_type)
static void ada_varobj_describe_struct_child(struct value *parent_value, struct type *parent_type, const char *parent_name, const char *parent_path_expr, int child_index, std::string *child_name, struct value **child_value, struct type **child_type, std::string *child_path_expr)
static std::string ada_name_of_child(const struct varobj *parent, int index)
void warning(const char *fmt,...)
static struct value * ada_value_of_child(const struct varobj *parent, int index)
static int ada_varobj_get_number_of_children(struct value *parent_value, struct type *parent_type)
static std::string ada_path_expr_of_child(const struct varobj *child)
static std::string ada_varobj_get_name_of_child(struct value *parent_value, struct type *parent_type, const char *parent_name, int child_index)
void common_val_print(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
static std::string ada_varobj_get_value_of_variable(struct value *value, struct type *type, struct value_print_options *opts)
static void ada_varobj_describe_child(struct value *parent_value, struct type *parent_type, const char *parent_name, const char *parent_path_expr, int child_index, std::string *child_name, struct value **child_value, struct type **child_type, std::string *child_path_expr)
const char * ada_decode(const char *encoded)
static bool ada_value_has_mutated(const struct varobj *var, struct value *new_val, struct type *new_type)
struct type * ada_coerce_to_simple_array_type(struct type *type)
static void ada_varobj_adjust_for_child_access(struct value **value, struct type **type)
static std::string ada_value_of_variable(const struct varobj *var, enum varobj_display_formats format)
struct type * ada_check_typedef(struct type *type)
#define TYPE_FIELD_TYPE(thistype, n)
const struct lang_varobj_ops c_varobj_ops
int ada_is_string_type(struct type *type)
bool varobj_default_value_is_changeable_p(const struct varobj *var)
static struct type * new_type(char *)
static void ada_varobj_decode_var(struct value **value_ptr, struct type **type_ptr)
struct value * value_field(struct value *arg1, int fieldno)
void varobj_formatted_print_options(struct value_print_options *opts, enum varobj_display_formats format)
static struct type * ada_type_of_child(const struct varobj *parent, int index)
int ada_is_tagged_type(struct type *type, int refok)
int ada_name_prefix_len(const char *name)
static int ada_varobj_get_array_number_of_children(struct value *parent_value, struct type *parent_type)
#define gdb_assert_not_reached(message)
static std::string ada_varobj_get_value_of_array_variable(struct value *value, struct type *type, struct value_print_options *opts)
int ada_is_wrapper_field(struct type *type, int field_num)
struct value * value_from_longest(struct type *type, LONGEST num)
int ada_is_array_descriptor_type(struct type *type)
void varobj_restrict_range(const std::vector< varobj *> &children, int *from, int *to)
struct type * ada_get_decoded_type(struct type *type)
struct value * ada_value_subscript(struct value *arr, int arity, struct value **ind)
static struct type * ada_varobj_get_type_of_child(struct value *parent_value, struct type *parent_type, int child_index)
int ada_is_constrained_packed_array_type(struct type *type)
struct value * ada_tag_value_at_base_address(struct value *obj)
static struct value * ada_varobj_get_value_of_child(struct value *parent_value, struct type *parent_type, const char *parent_name, int child_index)
LONGEST ada_discrete_type_low_bound(struct type *type)
static int ada_number_of_children(const struct varobj *var)
static void ada_varobj_ind(struct value *parent_value, struct type *parent_type, struct value **child_value, struct type **child_type)
int ada_is_ignored_field(struct type *type, int field_num)
static std::string ada_varobj_scalar_image(struct type *type, LONGEST val)
const struct language_defn * current_language
#define TYPE_TARGET_TYPE(thistype)
#define TYPE_CODE(thistype)
#define TYPE_INDEX_TYPE(type)
std::vector< varobj * > children
const char * ada_type_name(struct type *type)
bool varobj_default_is_path_expr_parent(const struct varobj *var)
int ada_is_variant_part(struct type *type, int field_num)
#define TYPE_NFIELDS(thistype)
struct value * ada_value_ind(struct value *val0)
static std::string ada_varobj_get_path_expr_of_child(struct value *parent_value, struct type *parent_type, const char *parent_name, const char *parent_path_expr, int child_index)
std::string string_printf(const char *fmt,...)
static void ada_varobj_struct_elt(struct value *parent_value, struct type *parent_type, int fieldno, struct value **child_value, struct type **child_type)
static PyObject * field_name(struct type *type, int field)
int is_dynamic_type(struct type *type)
struct type * value_type(const struct value *value)
CORE_ADDR value_as_address(struct value *val)
static bool ada_value_is_changeable_p(const struct varobj *var)
static std::string ada_varobj_get_value_image(struct value *value, struct value_print_options *opts)
void ada_print_scalar(struct type *, LONGEST, struct ui_file *)
static int ada_varobj_get_ptr_number_of_children(struct value *parent_value, struct type *parent_type)
int get_array_bounds(struct type *type, LONGEST *low_bound, LONGEST *high_bound)
const char * varobj_get_path_expr(const struct varobj *var)
struct type * lookup_pointer_type(struct type *type)