clang 22.0.0git
Public Member Functions | List of all members
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

◆ 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: