GDB (xrefs)
|
#include "defs.h"
#include "gdbsupport/gdb_obstack.h"
#include "bfd.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "value.h"
#include "gdbcore.h"
#include "target.h"
#include "language.h"
#include "demangle.h"
#include "c-lang.h"
#include "cli/cli-style.h"
#include "typeprint.h"
#include "cp-abi.h"
#include "cp-support.h"
Go to the source code of this file.
Enumerations | |
enum | access_specifier { s_none , s_public , s_private , s_protected } |
Functions | |
static void | c_type_print_varspec_suffix (struct type *, struct ui_file *, int, int, int, enum language, const struct type_print_options *) |
static void | c_type_print_varspec_prefix (struct type *, struct ui_file *, int, int, int, enum language, const struct type_print_options *, struct print_offset_data *) |
static void | c_type_print_modifier (struct type *, struct ui_file *, int, int, enum language) |
static void | c_type_print_base_1 (struct type *type, struct ui_file *stream, int show, int level, enum language language, const struct type_print_options *flags, struct print_offset_data *podata) |
static const char * | find_typedef_for_canonicalize (struct type *t, void *data) |
static void | print_name_maybe_canonical (const char *name, const struct type_print_options *flags, struct ui_file *stream) |
static void | c_print_type_1 (struct type *type, const char *varstring, struct ui_file *stream, int show, int level, enum language language, const struct type_print_options *flags, struct print_offset_data *podata) |
void | c_print_type (struct type *type, const char *varstring, struct ui_file *stream, int show, int level, enum language language, const struct type_print_options *flags) |
void | c_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream) |
static void | cp_type_print_derivation_info (struct ui_file *stream, struct type *type, const struct type_print_options *flags) |
static void | cp_type_print_method_args (struct type *mtype, const char *prefix, const char *varstring, int staticp, struct ui_file *stream, enum language language, const struct type_print_options *flags) |
void | c_type_print_args (struct type *type, struct ui_file *stream, int linkage_name, enum language language, const struct type_print_options *flags) |
static int | is_type_conversion_operator (struct type *type, int i, int j) |
static const char * | remove_qualifiers (const char *qid) |
static void | c_type_print_template_args (const struct type_print_options *flags, struct type *type, struct ui_file *stream, enum language language) |
static void | print_spaces_filtered_with_print_options (int level, struct ui_file *stream, const struct type_print_options *flags) |
static enum access_specifier | output_access_specifier (struct ui_file *stream, enum access_specifier last_access, int level, bool is_protected, bool is_private, const struct type_print_options *flags) |
static bool | need_access_label_p (struct type *type) |
static void | c_print_type_no_offsets (struct type *type, const char *varstring, struct ui_file *stream, int show, int level, enum language language, struct type_print_options *flags, struct print_offset_data *podata) |
static void | c_type_print_base_struct_union (struct type *type, struct ui_file *stream, int show, int level, enum language language, const struct type_print_options *flags, struct print_offset_data *podata) |
static void | c_type_print_base_1 (struct type *type, struct ui_file *stream, int show, int level, enum language language, const struct type_print_options *flags, struct print_offset_data *podata) |
void | c_type_print_base (struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags) |
enum access_specifier |
Enumerator | |
---|---|
s_none | |
s_public | |
s_private | |
s_protected |
Definition at line 38 of file c-typeprint.c.
void c_print_type | ( | struct type * | type, |
const char * | varstring, | ||
struct ui_file * | stream, | ||
int | show, | ||
int | level, | ||
enum language language language | , | ||
const struct type_print_options * | flags ) |
Definition at line 169 of file c-typeprint.c.
References c_print_type_1(), and flags.
Referenced by ada_print_type(), c_type_print_args(), c_type_print_template_args(), cp_type_print_method_args(), gnuv3_print_method_ptr(), c_language::print_type(), cplus_language::print_type(), asm_language::print_type(), minimal_language::print_type(), d_language::print_type(), go_language::print_type(), objc_language::print_type(), opencl_language::print_type(), rust_internal_print_type(), rust_print_struct_def(), and yyparse().
|
static |
Definition at line 102 of file c-typeprint.c.
References c_type_print_base_1(), c_type_print_modifier(), c_type_print_varspec_prefix(), c_type_print_varspec_suffix(), check_typedef(), code, type::code(), typedef_hash_table::find_typedef(), flags, fputs_styled(), function_name_style, gdb_puts(), type::is_vector(), type::name(), cli_style_option::style(), TYPE_IS_REFERENCE, and variable_name_style.
Referenced by c_print_type(), c_print_type_no_offsets(), c_type_print_base_1(), and c_type_print_base_struct_union().
|
static |
Definition at line 962 of file c-typeprint.c.
References c_print_type_1(), and flags.
Referenced by c_type_print_base_struct_union().
Definition at line 187 of file c-typeprint.c.
References check_typedef(), type::code(), gdb_printf(), general_symbol_info::linkage_name(), new_symbol(), general_symbol_info::print_name(), symbol::type(), and type_print().
Referenced by language_defn::print_typedef().
void c_type_print_args | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | linkage_name, | ||
enum language language | , | ||
const struct type_print_options * | flags ) |
Definition at line 525 of file c-typeprint.c.
References c_print_type(), type::field(), flags, gdb_printf(), type::has_varargs(), field::is_artificial(), type::is_prototyped(), language_cplus, make_cv_type(), type::num_fields(), field::type(), and ui_file::wrap_here().
Referenced by c_type_print_varspec_suffix(), and dwarf2_compute_name().
void c_type_print_base | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | show, | ||
int | level, | ||
const struct type_print_options * | flags ) |
Definition at line 1657 of file c-typeprint.c.
References c_type_print_base_1(), current_language, flags, and language_defn::la_language.
Referenced by cp_print_class_member().
|
static |
Referenced by c_print_type_1(), c_type_print_base(), c_type_print_base_1(), and c_type_print_varspec_prefix().
|
static |
Definition at line 1399 of file c-typeprint.c.
References field::bitsize(), c_print_type_1(), c_type_print_base_1(), c_type_print_base_struct_union(), c_type_print_modifier(), check_typedef(), type::code(), type::field(), flags, fprintf_styled(), fputs_styled(), gdb_printf(), gdb_puts(), type::is_declared_class(), type::is_stub(), language_c, language_cplus, language_minimal, field::loc_bitpos(), field::loc_enumval(), type_print_options::local_typedefs, metadata_style, field::name(), type::name(), type::num_fields(), print_name_maybe_canonical(), print_spaces(), print_type_fixed_point(), ui_file_style::ptr(), QUIT, cli_style_option::style(), type::target_type(), field::type(), TYPE_CODE_UNDEF, TYPE_ERROR_NAME, type_print_unknown_return_type(), variable_name_style, and ui_file::wrap_here().
|
static |
Definition at line 984 of file c-typeprint.c.
References typedef_hash_table::add_template_parameters(), field::bitsize(), c_print_type_1(), c_print_type_no_offsets(), c_type_print_modifier(), c_type_print_template_args(), type::code(), cp_type_print_derivation_info(), cp_type_print_method_args(), print_offset_data::end_bitpos, f(), type::field(), print_offset_data::finish(), flags, fprintf_styled(), gdb_demangle(), gdb_mangle_name(), gdb_printf(), gdb_puts(), get_vptr_fieldno(), print_offset_data::indentation, field::is_artificial(), fn_field::is_constructor, is_constructor_name(), type::is_declared_class(), is_destructor_name(), field::is_packed(), field::is_static(), type::is_stub(), is_type_conversion_operator(), type::length(), field::loc_bitpos(), type_print_options::local_typedefs, metadata_style, name, field::name(), type::name(), need_access_label_p(), type::num_fields(), print_offset_data::offset_bitpos, output_access_specifier(), fn_field::physname, print_name_maybe_canonical(), type_print_options::print_nested_type_limit, print_spaces(), print_spaces_filtered_with_print_options(), ui_file_style::ptr(), QUIT, typedef_hash_table::recursively_update(), remove_qualifiers(), s_none, cli_style_option::style(), type::target_type(), field::type(), TYPE_FIELD_PRIVATE, TYPE_FIELD_PROTECTED, TYPE_FN_FIELD_ARTIFICIAL, TYPE_FN_FIELD_CONSTRUCTOR, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_PRIVATE, TYPE_FN_FIELD_PROTECTED, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_STUB, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VIRTUAL_P, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_N_BASECLASSES, TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_TYPE, TYPE_NFN_FIELDS, TYPE_TYPEDEF_FIELD_COUNT, TYPE_TYPEDEF_FIELD_NAME, TYPE_TYPEDEF_FIELD_PRIVATE, TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_TYPE, and print_offset_data::update().
Referenced by c_type_print_base_1().
|
static |
Definition at line 455 of file c-typeprint.c.
References address_space_type_instance_flags_to_name(), type::arch(), gdb_printf(), type::instance_flags(), language_cplus, TYPE_ATOMIC, TYPE_CONST, TYPE_IS_REFERENCE, TYPE_RESTRICT, and TYPE_VOLATILE.
Referenced by c_print_type_1(), c_type_print_base_1(), c_type_print_base_struct_union(), and c_type_print_varspec_prefix().
|
static |
Definition at line 816 of file c-typeprint.c.
References symbol::aclass(), c_print_type(), flags, gdb_printf(), gdb_puts(), general_symbol_info::linkage_name(), LOC_TYPEDEF, symbol::type(), TYPE_N_TEMPLATE_ARGUMENTS, TYPE_TEMPLATE_ARGUMENT, and ui_file::wrap_here().
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 357 of file c-typeprint.c.
References c_type_print_base_1(), c_type_print_modifier(), c_type_print_varspec_prefix(), type::code(), flags, gdb_printf(), name, type::name(), print_name_maybe_canonical(), QUIT, type::target_type(), and TYPE_SELF_TYPE.
Referenced by c_print_type_1(), and c_type_print_varspec_prefix().
|
static |
Definition at line 726 of file c-typeprint.c.
References type::bounds(), c_type_print_args(), c_type_print_varspec_suffix(), type::code(), flags, gdb_printf(), get_array_bounds(), range_bounds::high, type::is_vector(), dynamic_prop::kind(), type::name(), PROP_LOCEXPR, PROP_LOCLIST, QUIT, and type::target_type().
Referenced by c_print_type_1(), and c_type_print_varspec_suffix().
|
static |
Definition at line 228 of file c-typeprint.c.
References BASETYPE_VIA_PUBLIC, BASETYPE_VIA_VIRTUAL, flags, gdb_printf(), gdb_puts(), name, print_name_maybe_canonical(), TYPE_BASECLASS, TYPE_FIELD_PROTECTED, TYPE_N_BASECLASSES, and ui_file::wrap_here().
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 259 of file c-typeprint.c.
References c_print_type(), code, type::fields(), flags, fprintf_symbol(), gdb_printf(), gdb_puts(), type::has_varargs(), field::is_artificial(), language_cplus, type::num_fields(), prefix, field::type(), TYPE_ATOMIC, TYPE_CONST, TYPE_RESTRICT, TYPE_VOLATILE, and ui_file::wrap_here().
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 73 of file c-typeprint.c.
References typedef_hash_table::find_typedef().
Referenced by print_name_maybe_canonical().
|
static |
Definition at line 590 of file c-typeprint.c.
References CP_OPERATOR_STR, name, and TYPE_FN_FIELDLIST_NAME.
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 910 of file c-typeprint.c.
References type::is_declared_class(), type::num_fields(), QUIT, TYPE_FIELD_PRIVATE, TYPE_FIELD_PROTECTED, TYPE_FN_FIELD_PRIVATE, TYPE_FN_FIELD_PROTECTED, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_N_BASECLASSES, TYPE_NFN_FIELDS, TYPE_TYPEDEF_FIELD_COUNT, TYPE_TYPEDEF_FIELD_PRIVATE, and TYPE_TYPEDEF_FIELD_PROTECTED.
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 870 of file c-typeprint.c.
References flags, gdb_printf(), print_spaces_filtered_with_print_options(), s_private, s_protected, and s_public.
Referenced by c_type_print_base_struct_union().
|
static |
Definition at line 83 of file c-typeprint.c.
References cp_canonicalize_string_full(), find_typedef_for_canonicalize(), flags, gdb_puts(), and name.
Referenced by c_type_print_base_1(), c_type_print_base_struct_union(), c_type_print_varspec_prefix(), and cp_type_print_derivation_info().
|
static |
Definition at line 857 of file c-typeprint.c.
References flags, print_offset_data::indentation, and print_spaces().
Referenced by c_type_print_base_struct_union(), and output_access_specifier().
|
static |
Definition at line 647 of file c-typeprint.c.
References scan().
Referenced by c_type_print_base_struct_union().