GDB (xrefs)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
cooked_index Class Reference

#include "cooked-index.h"

Public Types

typedef iterator_range< std::vector< cooked_index_entry * >::iterator > range
 

Public Member Functions

 cooked_index ()=default
 
 DISABLE_COPY_AND_ASSIGN (cooked_index)
 
const cooked_index_entryadd (sect_offset die_offset, enum dwarf_tag tag, cooked_index_flag flags, const char *name, const cooked_index_entry *parent_entry, dwarf2_per_cu_data *per_cu)
 
void install_addrmap (addrmap_mutable *map)
 
void finalize ()
 
void wait ()
 
range all_entries ()
 
range find (const std::string &name, bool completing)
 

Private Member Functions

const cooked_index_entryget_main () const
 
dwarf2_per_cu_datalookup (CORE_ADDR addr)
 
cooked_index_entrycreate (sect_offset die_offset, enum dwarf_tag tag, cooked_index_flag flags, const char *name, const cooked_index_entry *parent_entry, dwarf2_per_cu_data *per_cu)
 
gdb::unique_xmalloc_ptr< char > handle_gnat_encoded_entry (cooked_index_entry *entry, htab_t gnat_entries)
 
void do_finalize ()
 

Private Attributes

auto_obstack m_storage
 
std::vector< cooked_index_entry * > m_entries
 
cooked_index_entrym_main = nullptr
 
addrmapm_addrmap = nullptr
 
std::vector< gdb::unique_xmalloc_ptr< char > > m_names
 
gdb::future< void > m_future
 

Friends

class cooked_index_vector
 

Detailed Description

Definition at line 245 of file cooked-index.h.

Member Typedef Documentation

◆ range

typedef iterator_range<std::vector<cooked_index_entry *>::iterator> cooked_index::range

Definition at line 280 of file cooked-index.h.

Constructor & Destructor Documentation

◆ cooked_index()

cooked_index::cooked_index ( )
default

Member Function Documentation

◆ add()

const cooked_index_entry * cooked_index::add ( sect_offset  die_offset,
enum dwarf_tag  tag,
cooked_index_flag  flags,
const char *  name,
const cooked_index_entry parent_entry,
dwarf2_per_cu_data per_cu 
)

Definition at line 204 of file cooked-index.c.

References create(), flags, IS_MAIN, m_entries, m_main, and name.

◆ all_entries()

range cooked_index::all_entries ( )
inline

Definition at line 283 of file cooked-index.h.

References m_entries, and wait().

◆ create()

cooked_index_entry * cooked_index::create ( sect_offset  die_offset,
enum dwarf_tag  tag,
cooked_index_flag  flags,
const char *  name,
const cooked_index_entry parent_entry,
dwarf2_per_cu_data per_cu 
)
inlineprivate

Definition at line 313 of file cooked-index.h.

References flags, m_storage, and name.

Referenced by add(), and handle_gnat_encoded_entry().

◆ DISABLE_COPY_AND_ASSIGN()

cooked_index::DISABLE_COPY_AND_ASSIGN ( cooked_index  )

◆ do_finalize()

void cooked_index::do_finalize ( )
private

◆ finalize()

void cooked_index::finalize ( )

Definition at line 224 of file cooked-index.c.

References do_finalize(), and m_future.

◆ find()

cooked_index::range cooked_index::find ( const std::string &  name,
bool  completing 
)

◆ get_main()

const cooked_index_entry * cooked_index::get_main ( ) const
inlineprivate

Definition at line 298 of file cooked-index.h.

References m_main.

◆ handle_gnat_encoded_entry()

gdb::unique_xmalloc_ptr< char > cooked_index::handle_gnat_encoded_entry ( cooked_index_entry entry,
htab_t  gnat_entries 
)
private

◆ install_addrmap()

void cooked_index::install_addrmap ( addrmap_mutable map)
inline

Definition at line 260 of file cooked-index.h.

References m_addrmap, and m_storage.

◆ lookup()

dwarf2_per_cu_data * cooked_index::lookup ( CORE_ADDR  addr)
inlineprivate

Definition at line 306 of file cooked-index.h.

References addrmap::find(), and m_addrmap.

◆ wait()

void cooked_index::wait ( )
inline

Definition at line 272 of file cooked-index.h.

References m_future.

Referenced by all_entries(), and find().

Friends And Related Function Documentation

◆ cooked_index_vector

friend class cooked_index_vector
friend

Definition at line 277 of file cooked-index.h.

Member Data Documentation

◆ m_addrmap

addrmap* cooked_index::m_addrmap = nullptr
private

Definition at line 344 of file cooked-index.h.

Referenced by install_addrmap(), and lookup().

◆ m_entries

std::vector<cooked_index_entry *> cooked_index::m_entries
private

Definition at line 339 of file cooked-index.h.

Referenced by add(), all_entries(), do_finalize(), and find().

◆ m_future

gdb::future<void> cooked_index::m_future
private

Definition at line 350 of file cooked-index.h.

Referenced by finalize(), and wait().

◆ m_main

cooked_index_entry* cooked_index::m_main = nullptr
private

Definition at line 341 of file cooked-index.h.

Referenced by add(), and get_main().

◆ m_names

std::vector<gdb::unique_xmalloc_ptr<char> > cooked_index::m_names
private

Definition at line 346 of file cooked-index.h.

Referenced by do_finalize(), and handle_gnat_encoded_entry().

◆ m_storage

auto_obstack cooked_index::m_storage
private

Definition at line 337 of file cooked-index.h.

Referenced by create(), and install_addrmap().


The documentation for this class was generated from the following files: