|
void | resolveLinkAsDependencies (Module *Mod) |
| Use PendingLinkAsModule information to mark top level link names that are going to be replaced by export_as aliases.
|
|
void | addLinkAsDependency (Module *Mod) |
| Make module to use export_as as the link dependency name if enough information is available or add it to a pending list otherwise.
|
|
| ModuleMap (SourceManager &SourceMgr, DiagnosticsEngine &Diags, const LangOptions &LangOpts, const TargetInfo *Target, HeaderSearch &HeaderInfo) |
| Construct a new module map.
|
|
| ~ModuleMap () |
| Destroy the module map.
|
|
void | setTarget (const TargetInfo &Target) |
| Set the target information.
|
|
void | setBuiltinIncludeDir (DirectoryEntryRef Dir) |
| Set the directory that contains Clang-supplied include files, such as our stdarg.h or tgmath.h.
|
|
OptionalDirectoryEntryRef | getBuiltinDir () const |
| Get the directory that contains Clang-supplied include files.
|
|
bool | isBuiltinHeader (FileEntryRef File) |
| Is this a compiler builtin header?
|
|
bool | shouldImportRelativeToBuiltinIncludeDir (StringRef FileName, Module *Module) const |
|
void | addModuleMapCallbacks (std::unique_ptr< ModuleMapCallbacks > Callback) |
| Add a module map callback.
|
|
KnownHeader | findModuleForHeader (FileEntryRef File, bool AllowTextual=false, bool AllowExcluded=false) |
| Retrieve the module that owns the given header file, if any.
|
|
ArrayRef< KnownHeader > | findAllModulesForHeader (FileEntryRef File) |
| Retrieve all the modules that contain the given header file.
|
|
ArrayRef< KnownHeader > | findResolvedModulesForHeader (FileEntryRef File) const |
| Like findAllModulesForHeader, but do not attempt to infer module ownership from umbrella headers if we've not already done so.
|
|
void | resolveHeaderDirectives (const FileEntry *File) const |
| Resolve all lazy header directives for the specified file.
|
|
void | resolveHeaderDirectives (Module *Mod, std::optional< const FileEntry * > File) const |
| Resolve lazy header directives for the specified module.
|
|
void | diagnoseHeaderInclusion (Module *RequestingModule, bool RequestingModuleIsModuleInterface, SourceLocation FilenameLoc, StringRef Filename, FileEntryRef File) |
| Reports errors if a module must not include a specific file.
|
|
bool | isHeaderInUnavailableModule (FileEntryRef Header) const |
| Determine whether the given header is part of a module marked 'unavailable'.
|
|
bool | isHeaderUnavailableInModule (FileEntryRef Header, const Module *RequestingModule) const |
| Determine whether the given header is unavailable as part of the specified module.
|
|
Module * | findModule (StringRef Name) const |
| Retrieve a module with the given name.
|
|
Module * | findOrInferSubmodule (Module *Parent, StringRef Name) |
|
Module * | lookupModuleUnqualified (StringRef Name, Module *Context) const |
| Retrieve a module with the given name using lexical name lookup, starting at the given context.
|
|
Module * | lookupModuleQualified (StringRef Name, Module *Context) const |
| Retrieve a module with the given name within the given context, using direct (qualified) name lookup.
|
|
std::pair< Module *, bool > | findOrCreateModule (StringRef Name, Module *Parent, bool IsFramework, bool IsExplicit) |
| Find a new module or submodule, or create it if it does not already exist.
|
|
Module * | findOrCreateModuleFirst (StringRef Name, Module *Parent, bool IsFramework, bool IsExplicit) |
| Call ModuleMap::findOrCreateModule and throw away the information whether the module was found or created.
|
|
Module * | createModule (StringRef Name, Module *Parent, bool IsFramework, bool IsExplicit) |
| Create new submodule, assuming it does not exist.
|
|
Module * | createGlobalModuleFragmentForModuleUnit (SourceLocation Loc, Module *Parent=nullptr) |
| Create a global module fragment for a C++ module unit.
|
|
Module * | createImplicitGlobalModuleFragmentForModuleUnit (SourceLocation Loc, Module *Parent) |
|
Module * | createPrivateModuleFragmentForInterfaceUnit (Module *Parent, SourceLocation Loc) |
| Create a global module fragment for a C++ module interface unit.
|
|
Module * | createModuleUnitWithKind (SourceLocation Loc, StringRef Name, Module::ModuleKind Kind) |
| Create a new C++ module with the specified kind, and reparent any pending global module fragment(s) to it.
|
|
Module * | |