22#include "gdbsupport/gdb_obstack.h"
41 struct ui_file *stream,
int show,
int level,
52 if ((
code == TYPE_CODE_FUNC
53 ||
code == TYPE_CODE_METHOD))
60 if ((varstring != NULL && *varstring !=
'\0')
61 && !(
code == TYPE_CODE_FUNC
62 ||
code == TYPE_CODE_METHOD))
67 if (!(
code == TYPE_CODE_FUNC
68 ||
code == TYPE_CODE_METHOD))
77 demangled_args = varstring ? strchr (varstring,
'(') != NULL : 0;
107 gdb_puts (i == 0 ?
": " :
", ", stream);
124 const char *methodname,
127 int is_constructor = (startswith (physname,
"__ct__"));
128 int is_destructor = (startswith (physname,
"__dt__"));
130 if (is_constructor || is_destructor)
137 if (physname && (*physname != 0))
141 while (isdigit (physname[0]))
147 while (isdigit (physname[len]))
151 i = strtol (physname, &argname, 0);
154 for (j = 0; j < i; ++j)
158 if (physname[0] != 0)
172 int show,
int passed_a_ptr,
192 case TYPE_CODE_METHOD:
209 stream, 0, passed_a_ptr,
flags);
236 case TYPE_CODE_ARRAY:
249 case TYPE_CODE_STRUCT:
250 case TYPE_CODE_UNION:
255 case TYPE_CODE_ERROR:
259 case TYPE_CODE_RANGE:
260 case TYPE_CODE_STRING:
261 case TYPE_CODE_COMPLEX:
262 case TYPE_CODE_TYPEDEF:
263 case TYPE_CODE_FIXED_POINT:
268 gdb_assert_not_reached (
"unexpected type");
285 for (i = 0; i < len; i++)
299 ,stream, -1, 0,
flags);
312 int show,
int passed_a_ptr,
321 stream, 0, 0,
flags);
330 passed_a_ptr, 0,
flags);
339 int show,
int passed_a_ptr,
353 case TYPE_CODE_ARRAY:
358 case TYPE_CODE_METHOD:
363 passed_a_ptr, 0,
flags);
369 stream, 0, 1, 0,
flags);
378 passed_a_ptr, 0,
flags);
382 case TYPE_CODE_STRUCT:
383 case TYPE_CODE_UNION:
388 case TYPE_CODE_ERROR:
392 case TYPE_CODE_RANGE:
393 case TYPE_CODE_STRING:
394 case TYPE_CODE_COMPLEX:
395 case TYPE_CODE_TYPEDEF:
396 case TYPE_CODE_FIXED_POINT:
401 gdb_assert_not_reached (
"unexpected type");
430 if ((
type->
code () == TYPE_CODE_PTR)
451 case TYPE_CODE_TYPEDEF:
458 case TYPE_CODE_ARRAY:
463 case TYPE_CODE_METHOD:
465 case TYPE_CODE_STRUCT:
481 case TYPE_CODE_UNION:
497 else if (show > 0 ||
type->
name () == NULL)
569 stream, show - 1, level + 4,
flags);
586 if (len && section_type !=
s_none)
591 for (i = 0; i < len; i++)
600 for (j = 0; j < len2; j++)
604 int is_constructor = (startswith (physname,
"__ct__"));
605 int is_destructor = (startswith (physname,
"__dt__"));
651 else if (is_destructor)
704 else if (show > 0 ||
type->
name () == NULL)
709 for (i = 0; i < len; i++)
737 case TYPE_CODE_ERROR:
742 case TYPE_CODE_RANGE:
755 show - 1, level,
flags);
758 case TYPE_CODE_STRING:
776 "<invalid unnamed pascal type code %d>",
ui_file_style style() const
void type_print_method_args(const char *physname, const char *methodname, struct ui_file *stream) const
void print_type(struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const override
void print_func_args(struct type *type, struct ui_file *stream, const struct type_print_options *flags) const
void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override
void type_print_varspec_prefix(struct type *type, struct ui_file *stream, int show, int passed_a_ptr, const struct type_print_options *flags) const
void type_print_derivation_info(struct ui_file *stream, struct type *type) const
void type_print_varspec_suffix(struct type *type, struct ui_file *stream, int show, int passed_a_ptr, int demangled_args, const struct type_print_options *flags) const
const char * name() const override
void type_print_base(struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const
void type_print_func_varspec_suffix(struct type *type, struct ui_file *stream, int show, int passed_a_ptr, int demangled_args, const struct type_print_options *flags) const
virtual void wrap_here(int indent)
cli_style_option metadata_style
static struct symbol * new_symbol(struct ctf_context *cp, struct type *type, ctf_id_t tid)
bool is_cplus_marker(int c)
int field_is_static(struct field *f)
struct type * check_typedef(struct type *type)
#define TYPE_FN_FIELD_PHYSNAME(thisfn, n)
#define TYPE_NFN_FIELDS(thistype)
#define TYPE_FN_FIELDLIST1(thistype, n)
#define TYPE_SELF_TYPE(thistype)
#define TYPE_FN_FIELD_TYPE(thisfn, n)
#define TYPE_BASECLASS(thistype, index)
#define TYPE_FN_FIELD_VIRTUAL_P(thisfn, n)
#define TYPE_FN_FIELDLIST_LENGTH(thistype, n)
#define TYPE_FN_FIELD_PROTECTED(thisfn, n)
#define TYPE_FN_FIELD_PRIVATE(thisfn, n)
#define HAVE_CPLUS_STRUCT(type)
#define TYPE_FIELD_PROTECTED(thistype, n)
#define TYPE_FN_FIELD_STATIC_P(thisfn, n)
#define TYPE_FIELD_BITSIZE(thistype, n)
#define TYPE_ERROR_NAME(type)
#define TYPE_FIELD_PACKED(thistype, n)
#define BASETYPE_VIA_VIRTUAL(thistype, index)
#define TYPE_FN_FIELDLIST_NAME(thistype, n)
#define BASETYPE_VIA_PUBLIC(thistype, index)
#define TYPE_FIELD_PRIVATE(thistype, n)
#define TYPE_N_BASECLASSES(thistype)
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
LONGEST const_val() const
dynamic_prop_kind kind() const
LONGEST loc_enumval() const
const char * name() const
struct type * type() const
const char * print_name() const
struct type * target_type() const
struct field & field(int idx) const
range_bounds * bounds() const
const char * name() const
type * index_type() const
void print_type_scalar(struct type *type, LONGEST val, struct ui_file *stream)
void type_print(struct type *type, const char *varstring, struct ui_file *stream, int show)
void type_print_unknown_return_type(struct ui_file *stream)
void print_spaces(int n, struct ui_file *stream)
void fprintf_styled(struct ui_file *stream, const ui_file_style &style, const char *format,...)
void gdb_printf(struct ui_file *stream, const char *format,...)
void fputs_styled(const char *linebuffer, const ui_file_style &style, struct ui_file *stream)
void gdb_puts(const char *linebuffer, struct ui_file *stream)