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:
262 for (i = 0; i < len; i++)
276 ,stream, -1, 0,
flags);
289 int show,
int passed_a_ptr,
298 stream, 0, 0,
flags);
307 passed_a_ptr, 0,
flags);
316 int show,
int passed_a_ptr,
330 case TYPE_CODE_ARRAY:
335 case TYPE_CODE_METHOD:
340 passed_a_ptr, 0,
flags);
346 stream, 0, 1, 0,
flags);
355 passed_a_ptr, 0,
flags);
384 if ((
type->
code () == TYPE_CODE_PTR)
405 case TYPE_CODE_TYPEDEF:
412 case TYPE_CODE_ARRAY:
417 case TYPE_CODE_METHOD:
419 case TYPE_CODE_STRUCT:
435 case TYPE_CODE_UNION:
451 else if (show > 0 ||
type->
name () == NULL)
523 stream, show - 1, level + 4,
flags);
539 if (len && section_type !=
s_none)
544 for (i = 0; i < len; i++)
553 for (j = 0; j < len2; j++)
557 int is_constructor = (startswith (physname,
"__ct__"));
558 int is_destructor = (startswith (physname,
"__dt__"));
604 else if (is_destructor)
657 else if (show > 0 ||
type->
name () == NULL)
662 for (i = 0; i < len; i++)
690 case TYPE_CODE_ERROR:
695 case TYPE_CODE_RANGE:
708 show - 1, level,
flags);
711 case TYPE_CODE_STRING:
729 "<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
bool is_cplus_marker(int c)
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_ERROR_NAME(type)
#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
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *=NULL)
LONGEST const_val() const
LONGEST loc_enumval() const
const char * name() const
unsigned int bitsize() const
struct type * type() const
const char * print_name() const
struct type * target_type() const
struct field & field(int idx) const
unsigned int num_fields() 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)