clang 22.0.0git
clang::ModuleCache Class Referenceabstract

The module cache used for compiling modules implicitly. More...

#include "clang/Serialization/ModuleCache.h"

Inheritance diagram for clang::ModuleCache:
[legend]

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 InMemoryModuleCachegetInMemoryModuleCache ()=0
 Returns this process's view of the module cache.
virtual const InMemoryModuleCachegetInMemoryModuleCache () const =0
virtual ~ModuleCache ()=default

Detailed Description

The module cache used for compiling modules implicitly.

This centralizes the operations the compiler might want to perform on the cache.

Definition at line 26 of file ModuleCache.h.

Constructor & Destructor Documentation

◆ ~ModuleCache()

virtual clang::ModuleCache::~ModuleCache ( )
virtualdefault

Member Function Documentation

◆ getInMemoryModuleCache() [1/2]

virtual const InMemoryModuleCache & clang::ModuleCache::getInMemoryModuleCache ( ) const
pure virtual

◆ getInMemoryModuleCache() [2/2]

virtual InMemoryModuleCache & clang::ModuleCache::getInMemoryModuleCache ( )
pure virtual

Returns this process's view of the module cache.

Referenced by clang::serialization::ModuleManager::addModule(), and clang::ASTReader::readASTFileControlBlock().

◆ getLock()

virtual std::unique_ptr< llvm::AdvisoryLock > clang::ModuleCache::getLock ( StringRef ModuleFilename)
pure virtual

Returns lock for the given module file. The lock is initially unlocked.

Referenced by compileModuleAndReadASTBehindLock().

◆ getModuleTimestamp()

virtual std::time_t clang::ModuleCache::getModuleTimestamp ( StringRef ModuleFilename)
pure virtual

Returns the timestamp denoting the last time inputs of the module file were validated.

◆ prepareForGetLock()

virtual void clang::ModuleCache::prepareForGetLock ( StringRef ModuleFilename)
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().

◆ updateModuleTimestamp()

virtual void clang::ModuleCache::updateModuleTimestamp ( StringRef ModuleFilename)
pure virtual

Updates the timestamp denoting the last time inputs of the module file were validated.

Referenced by compileModuleAndReadASTImpl().


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