GDB (xrefs)
|
#include "block.h"
Public Member Functions | |
CORE_ADDR | start () const |
void | set_start (CORE_ADDR start) |
CORE_ADDR | end () const |
void | set_end (CORE_ADDR end) |
symbol * | function () const |
void | set_function (symbol *function) |
const block * | superblock () const |
void | set_superblock (const block *superblock) |
multidictionary * | multidict () const |
iterator_range< mdict_iterator_wrapper > | multidict_symbols () const |
void | set_multidict (multidictionary *multidict) |
gdb::array_view< blockrange > | ranges () |
gdb::array_view< const blockrange > | ranges () const |
void | set_ranges (blockranges *ranges) |
bool | is_contiguous () const |
CORE_ADDR | entry_pc () const |
struct objfile * | objfile () const |
struct gdbarch * | gdbarch () const |
bool | inlined_p () const |
const char * | scope () const |
void | set_scope (const char *scope, struct obstack *obstack) |
struct using_direct * | get_using () const |
void | set_using (struct using_direct *using_decl, struct obstack *obstack) |
struct symbol * | linkage_function () const |
struct symbol * | containing_function () const |
const struct block * | static_block () const |
bool | is_static_block () const |
const struct block * | global_block () const |
bool | is_global_block () const |
const struct block * | function_block () const |
void | set_compunit_symtab (struct compunit_symtab *) |
struct dynamic_prop * | static_link () const |
bool | contains (const struct block *a, bool allow_nested=false) const |
Private Member Functions | |
void | initialize_namespace (struct obstack *obstack) |
Private Attributes | |
CORE_ADDR | m_start = 0 |
CORE_ADDR | m_end = 0 |
struct symbol * | m_function = nullptr |
const struct block * | m_superblock = nullptr |
struct multidictionary * | m_multidict = nullptr |
struct block_namespace_info * | m_namespace_info = nullptr |
struct blockranges * | m_ranges = nullptr |
struct symbol * block::containing_function | ( | ) | const |
Definition at line 105 of file block.c.
References function(), and superblock().
Referenced by find_pc_sect_containing_function().
bool block::contains | ( | const struct block * | a, |
bool | allow_nested = false ) const |
Definition at line 68 of file block.c.
References function(), inlined_p(), and superblock().
Referenced by block_innermost_frame(), block_starting_point_at(), do_one_display(), frame_id_inner(), innermost_block_tracker::update(), and watchpoint_check().
|
inline |
Definition at line 119 of file block.h.
References m_end.
Referenced by bkscm_print_block_smob(), block_is_less_than(), blpy_get_end(), btrace_compute_ftrace_bts(), btrace_maint_print_packets(), check_scope(), cp_lookup_symbol_via_imports(), csky_frame_unwind_cache(), dump_symtab_1(), buildsym_compunit::end_compunit_symtab_with_blockvector(), finalize_symtab(), find_block_in_blockvector(), find_pc_partial_function_sym(), find_pc_sect_compunit_symtab(), find_pc_sect_line(), finish_block(), buildsym_compunit::finish_block_internal(), gdbscm_block_end(), maintenance_check_psymtabs(), parse_symbol(), prepare_one_step(), print_symbol(), buildsym_compunit::record_block_range(), set_end(), skip_prologue_sal(), and sort_blocks().
|
inline |
Definition at line 195 of file block.h.
References is_contiguous(), ranges(), and start().
Referenced by build_address_symbolic(), compile_object_run(), convert_one_symbol(), dwarf2_find_location_expression(), fill_in_stop_func(), find_function_alias_target(), find_function_entry_range_from_pc(), find_function_start_sal(), find_function_type(), find_gnu_ifunc(), func_addr_to_tail_call_list(), gcc_symbol_address(), gen_var_ref(), get_expr_block_and_pc(), get_pc_function_start(), info_address_command(), info_scope_command(), parse_exp_in_context(), process_event_stop_test(), language_defn::read_var_value(), skip_inline_frames(), skip_prologue_sal(), and value_fn_field().
|
inline |
Definition at line 127 of file block.h.
References m_function.
Referenced by ada_add_exceptions_from_frame(), ada_add_local_symbols(), bkscm_print_block_smob(), block_lookup_symbol(), blpy_get_function(), blpy_repr(), containing_function(), contains(), cp_lookup_symbol_imports_or_template(), default_collect_symbol_completion_matches_break_on(), dump_symtab_1(), buildsym_compunit::end_compunit_symtab_with_blockvector(), find_label_symbols(), buildsym_compunit::finish_block_internal(), frapy_block(), function_block(), gdbarch(), gdbscm_block_function(), gdbscm_frame_block(), generate_c_for_variable_locations(), get_frame_function(), get_hosting_frame(), get_out_value_type(), go_block_package_name(), info_common_command(), info_scope_command(), inline_frame_sniffer(), inlined_p(), iterate_over_block_local_vars(), linkage_function(), list_args_or_locals(), lookup_language_this(), lookup_local_symbol(), objfile(), pending_framepy_block(), set_function(), skip_inline_frames(), skip_prologue_sal(), skip_prologue_using_sal(), and static_link().
const struct block * block::function_block | ( | ) | const |
Definition at line 382 of file block.c.
References function(), and superblock().
Referenced by frame_follow_static_link(), get_out_value_type(), and skip_prologue_sal().
struct gdbarch * block::gdbarch | ( | ) | const |
Definition at line 57 of file block.c.
References objfile::arch(), symbol::arch, function(), and objfile().
Referenced by cp_lookup_bare_symbol(), d_lookup_symbol(), language_defn::lookup_symbol_nonlocal(), and ada_language::lookup_symbol_nonlocal().
struct using_direct * block::get_using | ( | ) | const |
Definition at line 328 of file block.c.
References m_namespace_info, and block_namespace_info::using_decl.
Referenced by ada_add_block_renamings(), add_symbol_overload_list_using(), cp_lookup_symbol_via_imports(), and d_lookup_symbol_imports().
const struct block * block::global_block | ( | ) | const |
Definition at line 369 of file block.c.
References superblock().
Referenced by add_nonlocal_symbols(), add_symbol_overload_list_namespace(), add_symbol_overload_list_qualified(), blpy_get_global_block(), ada_language::collect_symbol_completion_matches(), cp_basic_lookup_symbol(), default_collect_symbol_completion_matches_break_on(), gdbscm_block_global_block(), lookup_global_symbol(), and objfile().
|
private |
Definition at line 304 of file block.c.
References m_namespace_info.
Referenced by set_scope(), and set_using().
bool block::inlined_p | ( | ) | const |
Definition at line 118 of file block.c.
References function(), and symbol::is_inlined().
Referenced by contains(), default_collect_symbol_completion_matches_break_on(), get_frame_block(), get_hosting_frame(), inline_frame_sniffer(), linkage_function(), lookup_local_symbol(), skip_inline_frames(), skip_prologue_sal(), and skip_prologue_using_sal().
|
inline |
Definition at line 177 of file block.h.
References ranges().
Referenced by entry_pc(), find_function_entry_range_from_pc(), find_pc_partial_function_sym(), and print_disassembly().
|
inline |
Definition at line 273 of file block.h.
References superblock().
Referenced by get_hosting_frame(), and is_static_block().
|
inline |
Definition at line 259 of file block.h.
References is_global_block(), and superblock().
Referenced by get_hosting_frame().
struct symbol * block::linkage_function | ( | ) | const |
Definition at line 91 of file block.c.
References function(), inlined_p(), and superblock().
Referenced by do_compile_dwarf_expr_to_c(), expr::op_this_operation::do_generate_ax(), dwarf2_compile_expr_to_ax(), dwarf2_find_location_expression(), find_pc_sect_function(), dwarf_expr_context::get_frame_base(), get_pc_function_start(), locexpr_describe_location_piece(), parse_exp_in_context(), remove_irrelevant_renamings(), and resolve_sal_pc().
|
inline |
Definition at line 143 of file block.h.
References m_multidict.
Referenced by add_symbol(), buildsym_compunit::augment_type_symtab(), block_iter_match_step(), block_iterator_first(), block_iterator_step(), block_lookup_symbol_primary(), blpy_repr(), dump_symtab_1(), buildsym_compunit::finish_block_internal(), and set_multidict().
|
inline |
Definition at line 147 of file block.h.
References m_multidict.
Referenced by dump_symtab_1(), buildsym_compunit::end_compunit_symtab_with_blockvector(), and buildsym_compunit::finish_block_internal().
struct objfile * block::objfile | ( | ) | const |
Definition at line 43 of file block.c.
References global_block::compunit_symtab, function(), global_block(), symbol::objfile(), and compunit_symtab::objfile().
Referenced by add_symbol_overload_list_qualified(), bkscm_scm_from_block(), blpy_dealloc(), expr::check_objfile(), gdbarch(), lookup_global_symbol(), lookup_language_this(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_static_block(), set_block(), static_link(), and write_var_or_type().
|
inline |
Definition at line 155 of file block.h.
References m_ranges, blockranges::nranges, and blockranges::range.
Referenced by entry_pc(), find_function_entry_range_from_pc(), find_pc_partial_function_sym(), is_contiguous(), print_disassembly(), and set_ranges().
|
inline |
Definition at line 164 of file block.h.
References m_ranges, blockranges::nranges, and blockranges::range.
const char * block::scope | ( | ) | const |
Definition at line 287 of file block.c.
References m_namespace_info, block_namespace_info::scope, and superblock().
Referenced by cp_lookup_symbol_nonlocal(), cp_lookup_symbol_via_imports(), cp_lookup_transparent_type(), cp_search_static_and_baseclasses(), d_lookup_symbol_nonlocal(), default_collect_symbol_completion_matches_break_on(), get_out_value_type(), lookup_local_symbol(), lookup_module_scope(), lookup_namespace_scope(), rust_language::lookup_symbol_nonlocal(), rust_crate_for_block(), set_scope(), and rust_parser::super_name().
void block::set_compunit_symtab | ( | struct compunit_symtab * | cu | ) |
Definition at line 395 of file block.c.
References global_block::compunit_symtab, and superblock().
Referenced by buildsym_compunit::end_compunit_symtab_with_blockvector(), and finalize_symtab().
|
inline |
Definition at line 123 of file block.h.
Referenced by finalize_symtab(), buildsym_compunit::finish_block_internal(), mdebug_expand_psymtab(), parse_symbol(), and sort_blocks().
|
inline |
Definition at line 131 of file block.h.
References function(), and m_function.
Referenced by finalize_symtab(), buildsym_compunit::finish_block_internal(), and parse_symbol().
|
inline |
Definition at line 151 of file block.h.
References m_multidict, and multidict().
Referenced by finalize_symtab(), buildsym_compunit::finish_block_internal(), and new_block().
|
inline |
Definition at line 173 of file block.h.
References m_ranges, and ranges().
Referenced by dwarf2_record_block_ranges().
void block::set_scope | ( | const char * | scope, |
struct obstack * | obstack ) |
Definition at line 313 of file block.c.
References initialize_namespace(), m_namespace_info, block_namespace_info::scope, and scope().
Referenced by cp_set_block_scope(), and read_func_scope().
|
inline |
Definition at line 115 of file block.h.
References m_start, and start().
Referenced by finalize_symtab(), buildsym_compunit::finish_block_internal(), mdebug_expand_psymtab(), mips_make_symbol_special(), parse_symbol(), and sort_blocks().
|
inline |
Definition at line 139 of file block.h.
References m_superblock, and superblock().
Referenced by finalize_symtab(), buildsym_compunit::finish_block_internal(), new_symtab(), and parse_symbol().
void block::set_using | ( | struct using_direct * | using_decl, |
struct obstack * | obstack ) |
Definition at line 339 of file block.c.
References initialize_namespace(), m_namespace_info, and block_namespace_info::using_decl.
Referenced by buildsym_compunit::finish_block_internal().
|
inline |
Definition at line 111 of file block.h.
References m_start.
Referenced by bkscm_print_block_smob(), block_is_less_than(), blpy_get_start(), compile_cplus_convert_struct_or_union_methods(), convert_one_symbol(), csky_frame_unwind_cache(), dump_symtab_1(), entry_pc(), finalize_symtab(), find_block_in_blockvector(), find_pc_partial_function_sym(), find_pc_sect_compunit_symtab(), find_proc_desc(), finish_block(), buildsym_compunit::finish_block_internal(), gcc_cplus_symbol_address(), gdbscm_block_start(), inside_main_func(), maintenance_check_psymtabs(), buildsym_compunit::make_blockvector(), mips_make_symbol_special(), parse_procedure(), parse_symbol(), print_symbol(), buildsym_compunit::record_block_range(), set_start(), and sort_blocks().
const struct block * block::static_block | ( | ) | const |
Definition at line 354 of file block.c.
References superblock().
Referenced by add_symbol_overload_list_namespace(), add_symbol_overload_list_qualified(), blpy_get_static_block(), ada_language::collect_symbol_completion_matches(), convert_symbol_sym(), convert_symbol_sym(), default_collect_symbol_completion_matches_break_on(), gdbscm_block_static_block(), generate_c_for_variable_locations(), lookup_local_symbol(), lookup_symbol_in_static_block(), ada_language::lookup_symbol_nonlocal(), munge_name_and_block(), and process_full_comp_unit().
struct dynamic_prop * block::static_link | ( | ) | const |
Definition at line 408 of file block.c.
References function(), objfile(), and objfile_lookup_static_link().
Referenced by finish_block(), and frame_follow_static_link().
|
inline |
Definition at line 135 of file block.h.
References m_superblock.
Referenced by ada_add_exceptions_from_frame(), ada_add_local_symbols(), add_symbol_overload_list_qualified(), add_symbol_overload_list_using(), bkscm_print_block_smob(), block_depth(), block_find_symbol(), block_lookup_symbol_primary(), blpy_get_static_block(), blpy_get_superblock(), blpy_is_global(), blpy_is_static(), ada_language::collect_symbol_completion_matches(), containing_function(), contains(), cp_lookup_symbol_imports_or_template(), cp_lookup_symbol_via_all_imports(), d_lookup_symbol_module(), default_collect_symbol_completion_matches_break_on(), dump_symtab_1(), find_label_symbols(), buildsym_compunit::finish_block_internal(), function_block(), gdbscm_block_global_p(), gdbscm_block_static_block(), gdbscm_block_static_p(), gdbscm_block_superblock(), generate_c_for_variable_locations(), get_block_compunit_symtab(), get_frame_block(), get_frame_function(), get_hosting_frame(), get_out_value_type(), global_block(), go_block_package_name(), info_common_command(), info_scope_command(), initialize_block_iterator(), inline_frame_sniffer(), is_global_block(), is_static_block(), iterate_over_block_local_vars(), iterate_over_file_blocks(), linkage_function(), list_args_or_locals(), lookup_language_this(), lookup_local_symbol(), mylookup_symbol(), scope(), set_compunit_symtab(), set_superblock(), skip_inline_frames(), skip_prologue_sal(), skip_prologue_using_sal(), and static_block().
|
private |
Definition at line 322 of file block.h.
Referenced by function(), and set_function().
|
private |
Definition at line 334 of file block.h.
Referenced by multidict(), multidict_symbols(), and set_multidict().
|
private |
Definition at line 339 of file block.h.
Referenced by get_using(), initialize_namespace(), scope(), set_scope(), and set_using().
|
private |
Definition at line 345 of file block.h.
Referenced by ranges(), ranges(), and set_ranges().
|
private |
Definition at line 316 of file block.h.
Referenced by set_start(), and start().
Definition at line 330 of file block.h.
Referenced by set_superblock(), and superblock().