|
clang 23.0.0git
|
Identifies a module file to be loaded. More...
#include "clang/Basic/Module.h"
Public Member Functions | |
| ModuleFileName ()=default | |
| Creates an empty module file name. | |
| unsigned | getImplicitModuleSuffixLength () const |
| Returns the suffix length for an implicit module name, zero otherwise. | |
| StringRef | str () const |
| Returns the plain module file name. | |
| operator StringRef () const | |
| Converts to StringRef representing the plain module file name. | |
| bool | empty () const |
| Checks whether the module file name is empty. | |
| std::optional< ModuleFileKey > | makeKey (FileManager &FileMgr) const |
Creates the deduplication key for use in ModuleManager. | |
Static Public Member Functions | |
| static ModuleFileName | makeExplicit (std::string Name) |
| Creates a file name for an explicit module. | |
| static ModuleFileName | makeExplicit (StringRef Name) |
| Creates a file name for an explicit module. | |
| static ModuleFileName | makeImplicit (std::string Name, unsigned SuffixLength) |
| Creates a file name for an implicit module. | |
| static ModuleFileName | makeImplicit (StringRef Name, unsigned SuffixLength) |
| Creates a file name for an implicit module. | |
Identifies a module file to be loaded.
For implicitly-built module files, the path is split into the module cache path and the module file name with the (optional) context hash. For all other types of module files, this is just the file system path.
|
default |
Creates an empty module file name.
Referenced by makeExplicit(), makeExplicit(), makeImplicit(), and makeImplicit().
|
inline |
Checks whether the module file name is empty.
Definition at line 155 of file Module.h.
Referenced by selectModuleSource().
|
inline |
|
inlinestatic |
Creates a file name for an explicit module.
Definition at line 116 of file Module.h.
References clang::File, and ModuleFileName().
Referenced by clang::FrontendAction::BeginSourceFile(), createASTReader(), clang::CompilerInstance::createPCHExternalASTSource(), clang::VerifyPCHAction::ExecuteAction(), clang::HeaderSearch::getPrebuiltImplicitModuleFileName(), clang::HeaderSearch::getPrebuiltModuleFileName(), clang::ASTUnit::LoadFromASTFile(), makeExplicit(), and selectModuleSource().
|
inlinestatic |
Creates a file name for an explicit module.
Definition at line 123 of file Module.h.
References makeExplicit(), and ModuleFileName().
|
inlinestatic |
Creates a file name for an implicit module.
Definition at line 128 of file Module.h.
References clang::File, and ModuleFileName().
Referenced by makeImplicit().
|
inlinestatic |
Creates a file name for an implicit module.
Definition at line 139 of file Module.h.
References makeImplicit(), and ModuleFileName().
| std::optional< ModuleFileKey > ModuleFileName::makeKey | ( | FileManager & | FileMgr | ) | const |
Creates the deduplication key for use in ModuleManager.
Returns an empty optional if:
Definition at line 37 of file Module.cpp.
Referenced by clang::serialization::ModuleManager::lookupByFileName().
|
inline |
|
inline |