|
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 (lldb_private::ConstString 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 lldb_private::UniqueCStringMap< uint32_t > | 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 108 of file ObjectContainerBSDArchive.h.
| typedef std::multimap<lldb_private::FileSpec, ArchiveSP> ObjectContainerBSDArchive::Archive::Map |
Definition at line 110 of file ObjectContainerBSDArchive.h.
|
protected |
Definition at line 163 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 179 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 | ( | lldb_private::ConstString | object_name, |
| const llvm::sys::TimePoint<> & | object_mod_time ) |
Definition at line 153 of file ObjectContainerBSDArchive.cpp.
References m_object_name_to_index_map, and m_objects.
|
inline |
Definition at line 151 of file ObjectContainerBSDArchive.h.
References m_arch.
|
static |
Definition at line 239 of file ObjectContainerBSDArchive.cpp.
Referenced by FindCachedArchive(), and ParseAndCacheArchiveForFile().
|
static |
Definition at line 245 of file ObjectContainerBSDArchive.cpp.
Referenced by FindCachedArchive(), and ParseAndCacheArchiveForFile().
|
inline |
Definition at line 160 of file ObjectContainerBSDArchive.h.
References m_archive_type.
|
inline |
Definition at line 157 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 158 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 145 of file ObjectContainerBSDArchive.h.
References m_file_offset.
|
inline |
Definition at line 147 of file ObjectContainerBSDArchive.h.
References m_modification_time.
|
inline |
Definition at line 132 of file ObjectContainerBSDArchive.h.
References m_objects.
|
inline |
Definition at line 134 of file ObjectContainerBSDArchive.h.
References m_objects.
| bool ObjectContainerBSDArchive::Archive::HasNoExternalReferences | ( | ) | const |
|
static |
Definition at line 219 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 153 of file ObjectContainerBSDArchive.h.
References m_arch.
|
protected |
Definition at line 165 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetArchitecture(), and SetArchitecture().
|
protected |
Definition at line 173 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 172 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetData(), GetDataSP(), and ParseObjects().
|
protected |
Definition at line 167 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetFileOffset().
|
protected |
Definition at line 166 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetModificationTime().
|
protected |
Definition at line 169 of file ObjectContainerBSDArchive.h.
Referenced by FindObject(), and ParseObjects().
|
protected |
Definition at line 168 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), FindObject(), GetNumObjects(), GetObjectAtIndex(), and ParseObjects().