clang 23.0.0git
clang::ModuleFileKey Class Reference

Deduplication key for a loaded module file in ModuleManager. More...

#include "clang/Basic/Module.h"

Public Member Functions

bool operator== (const ModuleFileKey &Other) const
bool operator!= (const ModuleFileKey &Other) const

Friends

class serialization::ModuleManager
class ModuleFileName

Detailed Description

Deduplication key for a loaded module file in ModuleManager.

For implicitly-built modules, this is the DirectoryEntry of the module cache and the module file name with the (optional) context hash. This enables using FileManager's inode-based canonicalization of the user-provided module cache path without hitting issues on file systems that recycle inodes for recompiled module files.

For explicitly-built modules, this is FileEntry. This uses FileManager's inode-based canonicalization of the user-provided module file path. Because input explicitly-built modules do not change during the lifetime of the compiler, inode recycling is not of concern here.

Definition at line 73 of file Module.h.

Member Function Documentation

◆ operator!=()

bool clang::ModuleFileKey::operator!= ( const ModuleFileKey & Other) const
inline

Definition at line 97 of file Module.h.

References operator==(), and clang::Other.

◆ operator==()

bool clang::ModuleFileKey::operator== ( const ModuleFileKey & Other) const
inline

Definition at line 92 of file Module.h.

References clang::Other.

Referenced by operator!=().

◆ ModuleFileName

friend class ModuleFileName
friend

Definition at line 81 of file Module.h.

References ModuleFileName.

Referenced by ModuleFileName.

◆ serialization::ModuleManager

friend class serialization::ModuleManager
friend

Definition at line 80 of file Module.h.


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