LLDB mainline
Functions
AppleDWARFIndex.cpp File Reference
#include "Plugins/SymbolFile/DWARF/AppleDWARFIndex.h"
#include "Plugins/SymbolFile/DWARF/DWARFDeclContext.h"
#include "Plugins/SymbolFile/DWARF/DWARFUnit.h"
#include "Plugins/SymbolFile/DWARF/LogChannelDWARF.h"
#include "lldb/Core/Module.h"
#include "lldb/Symbol/Function.h"
#include "llvm/Support/DJB.h"

Go to the source code of this file.

Functions

static bool IsClassOrStruct (dw_tag_t tag)
 Returns true if tag is a class_type of structure_type tag.
 
static bool EntryHasMatchingQualhash (const llvm::AppleAcceleratorTable::Entry &entry, uint32_t expected_hash)
 Returns true if entry has an extractable DW_ATOM_qual_name_hash and it matches expected_hash.
 
static bool EntryHasMatchingTag (const llvm::AppleAcceleratorTable::Entry &entry, dw_tag_t expected_tag)
 Returns true if entry has an extractable DW_ATOM_die_tag and it matches expected_tag.
 
static bool HasImplementationFlag (const llvm::AppleAcceleratorTable::Entry &entry)
 Returns true if entry has an extractable DW_ATOM_type_flags and the flag "DW_FLAG_type_implementation" is set.
 

Function Documentation

◆ EntryHasMatchingQualhash()

static bool EntryHasMatchingQualhash ( const llvm::AppleAcceleratorTable::Entry entry,
uint32_t  expected_hash 
)
static

Returns true if entry has an extractable DW_ATOM_qual_name_hash and it matches expected_hash.

Definition at line 80 of file AppleDWARFIndex.cpp.

Referenced by lldb_private::plugin::dwarf::AppleDWARFIndex::SearchFor().

◆ EntryHasMatchingTag()

static bool EntryHasMatchingTag ( const llvm::AppleAcceleratorTable::Entry entry,
dw_tag_t  expected_tag 
)
static

Returns true if entry has an extractable DW_ATOM_die_tag and it matches expected_tag.

We also consider it a match if the tags are different but in the set of {TAG_class_type, TAG_struct_type}.

Definition at line 93 of file AppleDWARFIndex.cpp.

References IsClassOrStruct().

Referenced by lldb_private::plugin::dwarf::AppleDWARFIndex::SearchFor().

◆ HasImplementationFlag()

static bool HasImplementationFlag ( const llvm::AppleAcceleratorTable::Entry entry)
static

Returns true if entry has an extractable DW_ATOM_type_flags and the flag "DW_FLAG_type_implementation" is set.

Definition at line 110 of file AppleDWARFIndex.cpp.

Referenced by lldb_private::plugin::dwarf::AppleDWARFIndex::GetCompleteObjCClass().

◆ IsClassOrStruct()

static bool IsClassOrStruct ( dw_tag_t  tag)
static

Returns true if tag is a class_type of structure_type tag.

Definition at line 73 of file AppleDWARFIndex.cpp.

Referenced by EntryHasMatchingTag(), and lldb_private::plugin::dwarf::AppleDWARFIndex::GetTypes().