24#include "gdbsupport/array-view.h"
57 CORE_ADDR
end ()
const
108struct block :
public allocate_on_obstack
148 {
return iterator_range<mdict_iterator_wrapper> (
m_multidict); }
164 gdb::array_view<const blockrange>
ranges ()
const
178 {
return this->
ranges ().size () <= 1; }
198 return this->
start ();
200 return this->
ranges ()[0].start ();
219 const char *
scope ()
const;
306 bool contains (
const struct block *a,
bool allow_nested =
false)
const;
361 gdb::array_view<struct block *>
blocks ()
367 gdb::array_view<const struct block *const>
blocks ()
const
375 {
return this->
blocks ()[i]; }
379 {
return this->
blocks ()[i]; }
438 const struct block **);
593 const std::vector<blockrange> &rangevec);
bool best_symbol(struct symbol *a, const domain_enum domain)
struct symbol * better_symbol(struct symbol *a, struct symbol *b, const domain_enum domain)
struct call_site * call_site_for_pc(struct gdbarch *gdbarch, CORE_ADDR pc)
struct symbol * block_lookup_symbol_primary(const struct block *block, const char *name, const domain_enum domain)
struct blockranges * make_blockranges(struct objfile *objfile, const std::vector< blockrange > &rangevec)
const struct block * block_for_pc_sect(CORE_ADDR, struct obj_section *)
const struct blockvector * blockvector_for_pc_sect(CORE_ADDR, struct obj_section *, const struct block **, struct compunit_symtab *)
struct symbol * block_lookup_symbol(const struct block *block, const char *name, symbol_name_match_type match_type, const domain_enum domain)
const struct blockvector * blockvector_for_pc(CORE_ADDR, const struct block **)
const struct block * block_for_pc(CORE_ADDR)
iterator_range< block_iterator_wrapper > block_iterator_range
int blockvector_contains_pc(const struct blockvector *bv, CORE_ADDR pc)
struct symbol * block_find_symbol(const struct block *block, const lookup_name_info &name, const domain_enum domain, struct symbol **stub)
struct symbol * block_iterator_next(struct block_iterator *iterator)
struct symbol * block_iterator_first(const struct block *block, struct block_iterator *iterator, const lookup_name_info *name=nullptr)
bool operator==(const self_type &other) const
block_iterator_wrapper(const struct block *block, const lookup_name_info *name=nullptr)
block_iterator_wrapper self_type
struct symbol * value_type
struct block_iterator m_iter
value_type operator*() const
bool operator!=(const self_type &other) const
const struct block * block
struct compunit_symtab * compunit_symtab
const lookup_name_info * name
union block_iterator::@21 d
struct mdict_iterator mdict_iter
const block * superblock() const
const struct block * m_superblock
bool is_contiguous() const
void set_using(struct using_direct *using_decl, struct obstack *obstack)
bool contains(const struct block *a, bool allow_nested=false) const
void initialize_namespace(struct obstack *obstack)
multidictionary * multidict() const
void set_start(CORE_ADDR start)
const struct block * global_block() const
struct multidictionary * m_multidict
gdb::array_view< blockrange > ranges()
struct gdbarch * gdbarch() const
CORE_ADDR entry_pc() const
bool is_static_block() const
struct symbol * containing_function() const
struct blockranges * m_ranges
void set_multidict(multidictionary *multidict)
const struct block * function_block() const
const struct block * static_block() const
void set_compunit_symtab(struct compunit_symtab *)
struct dynamic_prop * static_link() const
struct block_namespace_info * m_namespace_info
void set_scope(const char *scope, struct obstack *obstack)
iterator_range< mdict_iterator_wrapper > multidict_symbols() const
void set_end(CORE_ADDR end)
symbol * function() const
gdb::array_view< const blockrange > ranges() const
struct objfile * objfile() const
void set_superblock(const block *superblock)
bool is_global_block() const
struct symbol * linkage_function() const
void set_function(symbol *function)
void set_ranges(blockranges *ranges)
struct using_direct * get_using() const
struct symbol * m_function
const char * scope() const
void set_end(CORE_ADDR end)
void set_start(CORE_ADDR start)
blockrange(CORE_ADDR start, CORE_ADDR end)
struct blockrange range[1]
const struct block * global_block() const
struct block * block(size_t i)
struct block * static_block()
gdb::array_view< const struct block *const > blocks() const
const struct block * static_block() const
gdb::array_view< struct block * > blocks()
const struct block * block(size_t i) const
struct block * m_blocks[1]
void set_map(addrmap *map)
void set_block(int i, struct block *block)
const addrmap * map() const
struct block * global_block()
void set_num_blocks(int num_blocks)
domain_enum domain() const