• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/Lex/

Lines Matching refs:ModuleMap

1 //===- ModuleMap.cpp - Describe the layout of modules ---------------------===//
9 // This file defines the ModuleMap implementation, which describes the layout
14 #include "clang/Lex/ModuleMap.h"
58 void ModuleMap::resolveLinkAsDependencies(Module *Mod) {
69 void ModuleMap::addLinkAsDependency(Module *Mod) {
76 Module::HeaderKind ModuleMap::headerRoleToKind(ModuleHeaderRole Role) {
90 ModuleMap::ModuleHeaderRole
91 ModuleMap::headerKindToRole(Module::HeaderKind Kind) {
108 ModuleMap::resolveExport(Module *Mod,
125 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod,
174 const FileEntry *ModuleMap::findHeader(
250 void ModuleMap::resolveHeader(Module *Mod,
289 bool ModuleMap::resolveAsBuiltinHeader(
313 ModuleMap::ModuleMap(SourceManager &SourceMgr, DiagnosticsEngine &Diags,
321 ModuleMap::~ModuleMap() {
328 void ModuleMap::setTarget(const TargetInfo &Target) {
374 bool ModuleMap::isBuiltinHeader(StringRef FileName) {
390 bool ModuleMap::isBuiltinHeader(const FileEntry *File) {
392 ModuleMap::isBuiltinHeader(llvm::sys::path::filename(File->getName()));
395 ModuleMap::HeadersMap::iterator
396 ModuleMap::findKnownHeader(const FileEntry *File) {
400 Known == Headers.end() && ModuleMap::isBuiltinHeader(File)) {
407 ModuleMap::KnownHeader
408 ModuleMap::findHeaderInUmbrellaDirs(const FileEntry *File,
447 ModuleMap::KnownHeader Header) {
449 if (Header.getRole() & ModuleMap::PrivateHeader) {
472 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule,
548 static bool isBetterKnownHeader(const ModuleMap::KnownHeader &New,
549 const ModuleMap::KnownHeader &Old) {
558 if ((New.getRole() & ModuleMap::PrivateHeader) !=
559 (Old.getRole() & ModuleMap::PrivateHeader))
560 return !(New.getRole() & ModuleMap::PrivateHeader);
563 if ((New.getRole() & ModuleMap::TextualHeader) !=
564 (Old.getRole() & ModuleMap::TextualHeader))
565 return !(New.getRole() & ModuleMap::TextualHeader);
571 ModuleMap::KnownHeader ModuleMap::findModuleForHeader(const FileEntry *File,
573 auto MakeResult = [&](ModuleMap::KnownHeader R) -> ModuleMap::KnownHeader {
574 if (!AllowTextual && R.getRole() & ModuleMap::TextualHeader)
581 ModuleMap::KnownHeader Result;
596 ModuleMap::KnownHeader
597 ModuleMap::findOrCreateModuleForHeaderInUmbrellaDir(const FileEntry *File) {
668 ArrayRef<ModuleMap::KnownHeader>
669 ModuleMap::findAllModulesForHeader(const FileEntry *File) {
680 ArrayRef<ModuleMap::KnownHeader>
681 ModuleMap::findResolvedModulesForHeader(const FileEntry *File) const {
690 bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) const {
695 ModuleMap::isHeaderUnavailableInModule(const FileEntry *Header,
713 if (!RequestingModule && I->getRole() == ModuleMap::TextualHeader)
790 Module *ModuleMap::findModule(StringRef Name) const {
798 Module *ModuleMap::lookupModuleUnqualified(StringRef Name,
808 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{
815 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name,
835 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc) {
844 ModuleMap::createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
853 Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc,
881 Module *ModuleMap::createHeaderModule(StringRef Name,
929 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir,
936 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir,
1109 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework,
1124 void ModuleMap::setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader,
1137 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir,
1145 void ModuleMap::addUnresolvedHeader(Module *Mod,
1155 Header.Kind = headerRoleToKind(ModuleMap::ModuleHeaderRole(
1156 headerKindToRole(Header.Kind) | ModuleMap::TextualHeader));
1181 void ModuleMap::resolveHeaderDirectives(const FileEntry *File) const {
1197 void ModuleMap::resolveHeaderDirectives(Module *Mod) const {
1202 const_cast<ModuleMap*>(this)->resolveHeader(Mod, Header, NeedsFramework);
1206 void ModuleMap::addHeader(Module *Mod, Module::Header Header,
1235 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) {
1246 ModuleMap::getContainingModuleMapFile(const Module *Module) const {
1254 const FileEntry *ModuleMap::getModuleMapFileForUniquing(const Module *M) const {
1262 void ModuleMap::setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap) {
1267 void ModuleMap::addAdditionalModuleMapFile(const Module *M,
1268 const FileEntry *ModuleMap) {
1269 AdditionalModMaps[M].insert(ModuleMap);
1272 LLVM_DUMP_METHOD void ModuleMap::dump() {
1294 bool ModuleMap::resolveExports(Module *Mod, bool Complain) {
1307 bool ModuleMap::resolveUses(Module *Mod, bool Complain) {
1320 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) {
1416 ModuleMap &Map;
1484 using Attributes = ModuleMap::Attributes;
1491 ModuleMap &Map, const FileEntry *ModuleMapFile,
2276 ModuleMap::ModuleHeaderRole Role = ModuleMap::NormalHeader;
2278 Role = ModuleMap::PrivateHeader;
2287 Role = ModuleMap::ModuleHeaderRole(Role | ModuleMap::TextualHeader);
2292 Role = ModuleMap::ModuleHeaderRole(Role | ModuleMap::TextualHeader);
2462 Map.addHeader(ActiveModule, std::move(Header), ModuleMap::TextualHeader);
2991 bool ModuleMap::parseModuleMapFile(const FileEntry *File, bool IsSystem,