52 struct type *parent_type);
101 struct type *parent_type,
103 struct value **child_value,
104 struct type **child_type)
118 *child_value = value;
129 struct type *parent_type,
130 struct value **child_value,
131 struct type **child_type)
166 *child_value = value;
177 struct type *parent_type,
179 struct value **child_value,
180 struct type **child_type)
187 struct value *index_value =
197 *child_value = value;
239 struct type *parent_type)
243 if (parent_value == NULL
258 warning (
_(
"unable to get bounds of array, assuming null array"));
275 struct type *parent_type)
290 struct value *elt_value;
291 struct type *elt_type;
294 &elt_value, &elt_type);
306 (elt_value, elt_type);
333 struct type *parent_type)
352 struct type *parent_type)
403 struct type *parent_type,
404 const char *parent_name,
405 const char *parent_path_expr,
408 struct value **child_value,
409 struct type **child_type,
410 char **child_path_expr);
417 struct type *parent_type,
418 const char *parent_name,
419 const char *parent_path_expr,
422 struct value **child_value,
423 struct type **child_type,
424 char **child_path_expr)
431 for (fieldno = 0; fieldno <
TYPE_NFIELDS (parent_type); fieldno++)
438 struct value *elt_value;
439 struct type *elt_type;
443 &elt_value, &elt_type);
451 (elt_value, elt_type);
459 if (child_index - childno < elt_n_children)
468 (elt_value, elt_type, parent_name, parent_path_expr,
469 child_index - childno, child_name, child_value,
470 child_type, child_path_expr);
474 parent_name, parent_path_expr,
475 child_index - childno,
476 child_name, child_value,
477 child_type, child_path_expr);
483 childno += elt_n_children;
498 if (childno == child_index)
509 *child_name =
xstrprintf (
"%.*s", child_name_len, field_name);
512 if (child_value && parent_value)
531 child_name_len, field_name);
555 struct type *parent_type,
556 const char *parent_name,
557 const char *parent_path_expr,
560 struct value **child_value,
561 struct type **child_type,
562 char **child_path_expr)
565 *child_name =
xstrprintf (
"%s.all", parent_name);
567 if (child_value && parent_value)
574 *child_path_expr =
xstrprintf (
"(%s).all", parent_path_expr);
585 struct type *parent_type,
586 const char *parent_name,
587 const char *parent_path_expr,
590 struct value **child_value,
591 struct type **child_type,
592 char **child_path_expr)
594 struct type *index_type;
605 if (child_value && parent_value)
634 const char *index_type_name = NULL;
645 index_type_name =
ada_decode (index_type_name);
648 if (index_type_name != NULL)
650 xstrprintf (
"(%s)(%.*s'(%s))", parent_path_expr,
652 index_type_name, index_img);
655 xstrprintf (
"(%s)(%s)", parent_path_expr, index_img);
664 struct type *parent_type,
665 const char *parent_name,
666 const char *parent_path_expr,
669 struct value **child_value,
670 struct type **child_type,
671 char **child_path_expr)
689 *child_path_expr = NULL;
695 parent_name, parent_path_expr,
696 child_index, child_name,
697 child_value, child_type,
705 (parent_value, parent_type, parent_name, parent_path_expr,
706 child_index, child_name, child_value, child_type,
714 parent_name, parent_path_expr,
715 child_index, child_name,
716 child_value, child_type,
724 parent_name, parent_path_expr,
725 child_index, child_name,
726 child_value, child_type,
734 *child_name = xstrdup (
"???");
744 struct type *parent_type,
745 const char *parent_name,
int child_index)
750 NULL, child_index, &child_name, NULL,
764 struct type *parent_type,
765 const char *parent_name,
766 const char *parent_path_expr,
769 char *child_path_expr;
772 parent_path_expr, child_index, NULL,
773 NULL, NULL, &child_path_expr);
775 return child_path_expr;
781 static struct value *
783 struct type *parent_type,
784 const char *parent_name,
int child_index)
786 struct value *child_value;
789 NULL, child_index, NULL, &child_value,
800 struct type *parent_type,
803 struct type *child_type;
806 child_index, NULL, NULL, &child_type, NULL);
865 result =
xstrprintf (
"[%d] %s", numchild, str);
890 result = xstrdup (
"{...}");
897 result = xstrdup (
"");
924 parent->
name, index);
940 static struct value *
944 parent->
name, index);
1021 for (i = from; i <
to; i++)
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)
#define TYPE_FIELD_NAME(thistype, n)
int varobj_default_value_is_changeable_p(const struct varobj *var)
static int ada_varobj_get_struct_number_of_children(struct value *parent_value, struct type *parent_type)
void warning(const char *fmt,...)
static char * ada_path_expr_of_child(const struct varobj *child)
static struct value * ada_value_of_child(const struct varobj *parent, int index)
char * ui_file_xstrdup(struct ui_file *file, long *length)
static int ada_varobj_get_number_of_children(struct value *parent_value, struct type *parent_type)
void common_val_print(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
const char * ada_decode(const char *encoded)
struct type * ada_coerce_to_simple_array_type(struct type *type)
static char * ada_varobj_scalar_image(struct type *type, LONGEST val)
static void ada_varobj_adjust_for_child_access(struct value **value, struct type **type)
void varobj_restrict_range(VEC(varobj_p)*children, int *from, int *to)
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)
static struct type * new_type(char *)
const struct varobj * parent
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, char **child_name, struct value **child_value, struct type **child_type, char **child_path_expr)
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)
int varobj_default_is_path_expr_parent(const struct varobj *var)
static char * ada_varobj_get_value_of_array_variable(struct value *value, struct type *type, struct value_print_options *opts)
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 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, char **child_name, struct value **child_value, struct type **child_type, char **child_path_expr)
static int ada_varobj_get_array_number_of_children(struct value *parent_value, struct type *parent_type)
#define gdb_assert_not_reached(message)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
static int ada_value_has_mutated(const struct varobj *var, struct value *new_val, struct type *new_type)
#define VEC_index(T, V, I)
int ada_is_wrapper_field(struct type *type, int field_num)
static int ada_value_is_changeable_p(const struct varobj *var)
struct value * value_from_longest(struct type *type, LONGEST num)
static char * ada_name_of_variable(const struct varobj *parent)
static char * ada_value_of_variable(const struct varobj *var, enum varobj_display_formats format)
int ada_is_array_descriptor_type(struct type *type)
char * xstrprintf(const char *format,...)
struct ui_file * mem_fileopen(void)
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)
static char * ada_varobj_get_value_image(struct value *value, struct value_print_options *opts)
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)
char *(* name_of_variable)(const struct varobj *parent)
const struct language_defn * current_language
#define TYPE_TARGET_TYPE(thistype)
static char * ada_name_of_child(const struct varobj *parent, int index)
struct cleanup * make_cleanup_ui_file_delete(struct ui_file *arg)
#define TYPE_CODE(thistype)
#define TYPE_INDEX_TYPE(type)
const char * ada_type_name(struct type *type)
int ada_is_variant_part(struct type *type, int field_num)
#define TYPE_NFIELDS(thistype)
struct value * ada_value_ind(struct value *val0)
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)
char * varobj_get_path_expr(const struct varobj *var)
CORE_ADDR value_as_address(struct value *val)
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, char **child_name, struct value **child_value, struct type **child_type, char **child_path_expr)
static char * 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)
void ada_print_scalar(struct type *, LONGEST, struct ui_file *)
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, char **child_name, struct value **child_value, struct type **child_type, char **child_path_expr)
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)
static char * ada_varobj_get_name_of_child(struct value *parent_value, struct type *parent_type, const char *parent_name, int child_index)
struct type * lookup_pointer_type(struct type *type)
void do_cleanups(struct cleanup *old_chain)
static char * ada_varobj_get_value_of_variable(struct value *value, struct type *type, struct value_print_options *opts)