|
clang 23.0.0git
|
The module cache used for compiling modules implicitly. More...
#include "clang/Serialization/ModuleCache.h"
Public Member Functions | |
| virtual void | prepareForGetLock (StringRef ModuleFilename)=0 |
May perform any work that only needs to be performed once for multiple calls getLock() with the same module filename. | |
| virtual std::unique_ptr< llvm::AdvisoryLock > | getLock (StringRef ModuleFilename)=0 |
| Returns lock for the given module file. The lock is initially unlocked. | |
| virtual std::time_t | getModuleTimestamp (StringRef ModuleFilename)=0 |
| Returns the timestamp denoting the last time inputs of the module file were validated. | |
| virtual void | updateModuleTimestamp (StringRef ModuleFilename)=0 |
| Updates the timestamp denoting the last time inputs of the module file were validated. | |
| virtual void | maybePrune (StringRef Path, time_t PruneInterval, time_t PruneAfter)=0 |
| Prune module files that haven't been accessed in a long time. | |
| virtual InMemoryModuleCache & | getInMemoryModuleCache ()=0 |
| Returns this process's view of the module cache. | |
| virtual const InMemoryModuleCache & | getInMemoryModuleCache () const =0 |
| virtual | ~ModuleCache ()=default |
The module cache used for compiling modules implicitly.
This centralizes the operations the compiler might want to perform on the cache.
Definition at line 25 of file ModuleCache.h.
|
virtualdefault |
|
pure virtual |
|
pure virtual |
Returns this process's view of the module cache.
Referenced by clang::serialization::ModuleManager::addModule(), and clang::ASTReader::readASTFileControlBlock().
|
pure virtual |
Returns lock for the given module file. The lock is initially unlocked.
Referenced by compileModuleAndReadASTBehindLock(), and AsyncModuleCompile::moduleLoadSkipped().
|
pure virtual |
Returns the timestamp denoting the last time inputs of the module file were validated.
Referenced by AsyncModuleCompile::moduleLoadSkipped().
|
pure virtual |
Prune module files that haven't been accessed in a long time.
|
pure virtual |
May perform any work that only needs to be performed once for multiple calls getLock() with the same module filename.
Referenced by compileModuleAndReadASTBehindLock(), and AsyncModuleCompile::moduleLoadSkipped().
|
pure virtual |
Updates the timestamp denoting the last time inputs of the module file were validated.
Referenced by compileModuleAndReadASTImpl().