|
LLDB mainline
|
#include <ObjectContainerBSDArchive.h>
Public Types | |
| typedef std::multimap< lldb_private::FileSpec, ArchiveSP > | Map |
Public Member Functions | |
| Archive (const lldb_private::ArchSpec &arch, const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset, lldb::DataExtractorSP extractor_sp, ArchiveType archive_type) | |
| ~Archive () | |
| size_t | GetNumObjects () const |
| const Object * | GetObjectAtIndex (size_t idx) |
| size_t | ParseObjects () |
| Object * | FindObject (llvm::StringRef object_name, const llvm::sys::TimePoint<> &object_mod_time) |
| lldb::offset_t | GetFileOffset () const |
| const llvm::sys::TimePoint & | GetModificationTime () |
| const lldb_private::ArchSpec & | GetArchitecture () const |
| void | SetArchitecture (const lldb_private::ArchSpec &arch) |
| bool | HasNoExternalReferences () const |
| lldb_private::DataExtractor & | GetData () |
| lldb::DataExtractorSP & | GetDataSP () |
| ArchiveType | GetArchiveType () |
Static Public Member Functions | |
| static Map & | GetArchiveCache () |
| static std::recursive_mutex & | GetArchiveCacheMutex () |
| static ArchiveSP | FindCachedArchive (const lldb_private::FileSpec &file, const lldb_private::ArchSpec &arch, const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset) |
| static ArchiveSP | ParseAndCacheArchiveForFile (const lldb_private::FileSpec &file, const lldb_private::ArchSpec &arch, const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset, lldb::DataExtractorSP extractor_sp, ArchiveType archive_type) |
Protected Types | |
| typedef llvm::StringMap< llvm::SmallVector< uint32_t, 1 > > | ObjectNameToIndexMap |
Protected Attributes | |
| lldb_private::ArchSpec | m_arch |
| llvm::sys::TimePoint | m_modification_time |
| lldb::offset_t | m_file_offset |
| std::vector< Object > | m_objects |
| ObjectNameToIndexMap | m_object_name_to_index_map |
| lldb::DataExtractorSP | m_extractor_sp |
| The data for this object container so we don't lose data if the .a files gets modified. | |
| ArchiveType | m_archive_type |
Definition at line 106 of file ObjectContainerBSDArchive.h.
| typedef std::multimap<lldb_private::FileSpec, ArchiveSP> ObjectContainerBSDArchive::Archive::Map |
Definition at line 108 of file ObjectContainerBSDArchive.h.
|
protected |
Definition at line 162 of file ObjectContainerBSDArchive.h.
| ObjectContainerBSDArchive::Archive::Archive | ( | const lldb_private::ArchSpec & | arch, |
| const llvm::sys::TimePoint<> & | mod_time, | ||
| lldb::offset_t | file_offset, | ||
| lldb::DataExtractorSP | extractor_sp, | ||
| ArchiveType | archive_type ) |
Definition at line 68 of file ObjectContainerBSDArchive.cpp.
References m_arch, m_archive_type, m_extractor_sp, m_file_offset, m_modification_time, and m_objects.
|
default |
|
static |
Definition at line 170 of file ObjectContainerBSDArchive.cpp.
References GetArchiveCache(), GetArchiveCacheMutex(), lldb_private::ArchSpec::IsValid(), and LLDB_INVALID_OFFSET.
Referenced by ObjectContainerBSDArchive::CreateInstance(), and ObjectContainerBSDArchive::GetModuleSpecifications().
| ObjectContainerBSDArchive::Object * ObjectContainerBSDArchive::Archive::FindObject | ( | llvm::StringRef | object_name, |
| const llvm::sys::TimePoint<> & | object_mod_time ) |
Definition at line 152 of file ObjectContainerBSDArchive.cpp.
References m_object_name_to_index_map, and m_objects.
|
inline |
Definition at line 149 of file ObjectContainerBSDArchive.h.
References m_arch.
|
static |
Definition at line 230 of file ObjectContainerBSDArchive.cpp.
Referenced by FindCachedArchive(), and ParseAndCacheArchiveForFile().
|
static |
Definition at line 236 of file ObjectContainerBSDArchive.cpp.
Referenced by FindCachedArchive(), and ParseAndCacheArchiveForFile().
|
inline |
Definition at line 158 of file ObjectContainerBSDArchive.h.
References m_archive_type.
|
inline |
Definition at line 155 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 156 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 143 of file ObjectContainerBSDArchive.h.
References m_file_offset.
|
inline |
Definition at line 145 of file ObjectContainerBSDArchive.h.
References m_modification_time.
|
inline |
Definition at line 130 of file ObjectContainerBSDArchive.h.
References m_objects.
|
inline |
Definition at line 132 of file ObjectContainerBSDArchive.h.
References m_objects.
| bool ObjectContainerBSDArchive::Archive::HasNoExternalReferences | ( | ) | const |
|
static |
Definition at line 210 of file ObjectContainerBSDArchive.cpp.
References GetArchiveCache(), and GetArchiveCacheMutex().
Referenced by ObjectContainerBSDArchive::GetModuleSpecifications(), and ObjectContainerBSDArchive::ParseHeader().
| size_t ObjectContainerBSDArchive::Archive::ParseObjects | ( | ) |
Definition at line 79 of file ObjectContainerBSDArchive.cpp.
References ObjectContainerBSDArchive::Object::ar_name, ObjectContainerBSDArchive::Object::Clear(), ObjectContainerBSDArchive::Object::file_offset, ObjectContainerBSDArchive::Object::file_size, l, LLDB_LOG_ERROR, m_extractor_sp, m_object_name_to_index_map, m_objects, ObjectContainerBSDArchive::Object::modification_time, and ObjectContainerBSDArchive::Object::size.
|
inline |
Definition at line 151 of file ObjectContainerBSDArchive.h.
References m_arch.
|
protected |
Definition at line 164 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetArchitecture(), and SetArchitecture().
|
protected |
Definition at line 172 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetArchiveType().
|
protected |
The data for this object container so we don't lose data if the .a files gets modified.
Definition at line 171 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetData(), GetDataSP(), and ParseObjects().
|
protected |
Definition at line 166 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetFileOffset().
|
protected |
Definition at line 165 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetModificationTime().
|
protected |
Definition at line 168 of file ObjectContainerBSDArchive.h.
Referenced by FindObject(), and ParseObjects().
|
protected |
Definition at line 167 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), FindObject(), GetNumObjects(), GetObjectAtIndex(), and ParseObjects().