|
LLDB mainline
|
#include <ObjectContainerBSDArchive.h>
Public Types | |
| typedef std::shared_ptr< Archive > | shared_ptr |
| typedef std::multimap< lldb_private::FileSpec, shared_ptr > | 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 Archive::shared_ptr | FindCachedArchive (const lldb_private::FileSpec &file, const lldb_private::ArchSpec &arch, const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset) |
| static Archive::shared_ptr | 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 111 of file ObjectContainerBSDArchive.h.
| typedef std::multimap<lldb_private::FileSpec, shared_ptr> ObjectContainerBSDArchive::Archive::Map |
Definition at line 114 of file ObjectContainerBSDArchive.h.
|
protected |
Definition at line 166 of file ObjectContainerBSDArchive.h.
| typedef std::shared_ptr<Archive> ObjectContainerBSDArchive::Archive::shared_ptr |
Definition at line 113 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 154 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 163 of file ObjectContainerBSDArchive.h.
References m_archive_type.
|
inline |
Definition at line 160 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 161 of file ObjectContainerBSDArchive.h.
References m_extractor_sp.
|
inline |
Definition at line 148 of file ObjectContainerBSDArchive.h.
References m_file_offset.
|
inline |
Definition at line 150 of file ObjectContainerBSDArchive.h.
References m_modification_time.
|
inline |
Definition at line 135 of file ObjectContainerBSDArchive.h.
References m_objects.
|
inline |
Definition at line 137 of file ObjectContainerBSDArchive.h.
References m_objects.
| bool ObjectContainerBSDArchive::Archive::HasNoExternalReferences | ( | ) | const |
|
static |
Definition at line 219 of file ObjectContainerBSDArchive.cpp.
References Archive, 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 156 of file ObjectContainerBSDArchive.h.
References m_arch.
|
protected |
Definition at line 168 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetArchitecture(), and SetArchitecture().
|
protected |
Definition at line 176 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 175 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), GetData(), GetDataSP(), and ParseObjects().
|
protected |
Definition at line 170 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetFileOffset().
|
protected |
Definition at line 169 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), and GetModificationTime().
|
protected |
Definition at line 172 of file ObjectContainerBSDArchive.h.
Referenced by FindObject(), and ParseObjects().
|
protected |
Definition at line 171 of file ObjectContainerBSDArchive.h.
Referenced by Archive(), FindObject(), GetNumObjects(), GetObjectAtIndex(), and ParseObjects().