LLDB mainline
lldb_private::SourceManager::SourceFileCache Class Reference

The SourceFileCache class separates the source manager from the cache of source files. More...

#include <SourceManager.h>

Public Member Functions

 SourceFileCache ()=default
 ~SourceFileCache ()=default
void AddSourceFile (const FileSpec &file_spec, FileSP file_sp)
void RemoveSourceFile (const FileSP &file_sp)
FileSP FindSourceFile (const FileSpec &file_spec) const
void Clear ()
void Dump (Stream &stream) const

Private Types

typedef std::map< FileSpec, FileSPFileCache

Private Member Functions

void AddSourceFileImpl (const FileSpec &file_spec, FileSP file_sp)

Private Attributes

FileCache m_file_cache
llvm::sys::RWMutex m_mutex

Detailed Description

The SourceFileCache class separates the source manager from the cache of source files.

There is one source manager per Target but both the Debugger and the Process have their own source caches.

The SourceFileCache just handles adding, storing, removing and looking up source files. The caching policies are implemented in SourceManager::GetFile.

Definition at line 123 of file SourceManager.h.

Member Typedef Documentation

◆ FileCache

Definition at line 141 of file SourceManager.h.

Constructor & Destructor Documentation

◆ SourceFileCache()

lldb_private::SourceManager::SourceFileCache::SourceFileCache ( )
default

◆ ~SourceFileCache()

lldb_private::SourceManager::SourceFileCache::~SourceFileCache ( )
default

Member Function Documentation

◆ AddSourceFile()

void SourceManager::SourceFileCache::AddSourceFile ( const FileSpec & file_spec,
FileSP file_sp )

Definition at line 805 of file SourceManager.cpp.

References AddSourceFileImpl(), and m_mutex.

◆ AddSourceFileImpl()

void SourceManager::SourceFileCache::AddSourceFileImpl ( const FileSpec & file_spec,
FileSP file_sp )
private

Definition at line 833 of file SourceManager.cpp.

References m_file_cache.

Referenced by AddSourceFile().

◆ Clear()

void lldb_private::SourceManager::SourceFileCache::Clear ( )
inline

Definition at line 134 of file SourceManager.h.

References m_file_cache.

Referenced by CommandObjectSourceCacheClear::DoExecute().

◆ Dump()

void SourceManager::SourceFileCache::Dump ( Stream & stream) const

◆ FindSourceFile()

SourceManager::FileSP SourceManager::SourceFileCache::FindSourceFile ( const FileSpec & file_spec) const

Definition at line 844 of file SourceManager.cpp.

References m_file_cache, and m_mutex.

◆ RemoveSourceFile()

void SourceManager::SourceFileCache::RemoveSourceFile ( const FileSP & file_sp)

Definition at line 817 of file SourceManager.cpp.

References m_file_cache, and m_mutex.

Member Data Documentation

◆ m_file_cache

FileCache lldb_private::SourceManager::SourceFileCache::m_file_cache
private

Definition at line 142 of file SourceManager.h.

Referenced by AddSourceFileImpl(), Clear(), Dump(), FindSourceFile(), and RemoveSourceFile().

◆ m_mutex

llvm::sys::RWMutex lldb_private::SourceManager::SourceFileCache::m_mutex
mutableprivate

Definition at line 144 of file SourceManager.h.

Referenced by AddSourceFile(), FindSourceFile(), and RemoveSourceFile().


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