Lines Matching refs:Module
58 void ModuleMap::resolveLinkAsDependencies(Module *Mod) { in resolveLinkAsDependencies()
69 void ModuleMap::addLinkAsDependency(Module *Mod) { in addLinkAsDependency()
76 Module::HeaderKind ModuleMap::headerRoleToKind(ModuleHeaderRole Role) { in headerRoleToKind()
80 return Module::HK_Normal; in headerRoleToKind()
82 return Module::HK_Private; in headerRoleToKind()
84 return Module::HK_Textual; in headerRoleToKind()
86 return Module::HK_PrivateTextual; in headerRoleToKind()
91 ModuleMap::headerKindToRole(Module::HeaderKind Kind) { in headerKindToRole()
93 case Module::HK_Normal: in headerKindToRole()
95 case Module::HK_Private: in headerKindToRole()
97 case Module::HK_Textual: in headerKindToRole()
99 case Module::HK_PrivateTextual: in headerKindToRole()
101 case Module::HK_Excluded: in headerKindToRole()
107 Module::ExportDecl
108 ModuleMap::resolveExport(Module *Mod, in resolveExport()
109 const Module::UnresolvedExportDecl &Unresolved, in resolveExport()
114 return Module::ExportDecl(nullptr, true); in resolveExport()
118 Module *Context = resolveModuleId(Unresolved.Id, Mod, Complain); in resolveExport()
122 return Module::ExportDecl(Context, Unresolved.Wildcard); in resolveExport()
125 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod, in resolveModuleId()
128 Module *Context = lookupModuleUnqualified(Id[0].first, Mod); in resolveModuleId()
139 Module *Sub = lookupModuleQualified(Id[I].first, Context); in resolveModuleId()
157 static void appendSubframeworkPaths(Module *Mod, in appendSubframeworkPaths()
175 Module *M, const Module::UnresolvedHeaderDirective &Header, in findHeader()
250 void ModuleMap::resolveHeader(Module *Mod, in resolveHeader()
251 const Module::UnresolvedHeaderDirective &Header, in resolveHeader()
258 if (Module *UmbrellaMod = UmbrellaDirs[UmbrellaDir]) in resolveHeader()
265 Module::Header H = {Header.FileName, std::string(RelativePathName.str()), in resolveHeader()
267 if (Header.Kind == Module::HK_Excluded) in resolveHeader()
275 } else if (Header.Kind == Module::HK_Excluded) { in resolveHeader()
291 Module *Mod, const Module::UnresolvedHeaderDirective &Header) { in resolveAsBuiltinHeader()
292 if (Header.Kind == Module::HK_Excluded || in resolveAsBuiltinHeader()
309 Module::Header H = {Header.FileName, std::string(Path.str()), *File}; in resolveAsBuiltinHeader()
446 static bool violatesPrivateInclude(Module *RequestingModule, in violatesPrivateInclude()
455 SmallVectorImpl<Module::Header> *HeaderList[] = { in violatesPrivateInclude()
456 &Header.getModule()->Headers[Module::HK_Private], in violatesPrivateInclude()
457 &Header.getModule()->Headers[Module::HK_PrivateTextual]}; in violatesPrivateInclude()
460 std::find_if(Hs->begin(), Hs->end(), [&](const Module::Header &H) { in violatesPrivateInclude()
469 static Module *getTopLevelOrNull(Module *M) { in getTopLevelOrNull()
473 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, in diagnoseHeaderInclusion()
489 Module *Private = nullptr; in diagnoseHeaderInclusion()
490 Module *NotUsed = nullptr; in diagnoseHeaderInclusion()
604 Module *Result = H.getModule(); in findOrCreateModuleForHeaderInUmbrellaDir()
608 Module *UmbrellaModule = Result; in findOrCreateModuleForHeaderInUmbrellaDir()
637 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
653 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
697 const Module *RequestingModule) const { in isHeaderUnavailableInModule()
726 auto IsUnavailable = [&](const Module *M) { in isHeaderUnavailableInModule()
734 llvm::DenseMap<const DirectoryEntry *, Module *>::const_iterator KnownDir in isHeaderUnavailableInModule()
737 Module *Found = KnownDir->second; in isHeaderUnavailableInModule()
743 Module *UmbrellaModule = Found; in isHeaderUnavailableInModule()
791 Module *ModuleMap::findModule(StringRef Name) const { in findModule()
792 llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name); in findModule()
799 Module *ModuleMap::lookupModuleUnqualified(StringRef Name, in lookupModuleUnqualified()
800 Module *Context) const { in lookupModuleUnqualified()
802 if (Module *Sub = lookupModuleQualified(Name, Context)) in lookupModuleUnqualified()
809 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ in lookupModuleQualified()
816 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name, in findOrCreateModule()
817 Module *Parent, in findOrCreateModule()
821 if (Module *Sub = lookupModuleQualified(Name, Parent)) in findOrCreateModule()
825 Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework, in findOrCreateModule()
836 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc) { in createGlobalModuleFragmentForModuleUnit()
838 new Module("<global>", Loc, nullptr, /*IsFramework*/ false, in createGlobalModuleFragmentForModuleUnit()
840 PendingSubmodules.back()->Kind = Module::GlobalModuleFragment; in createGlobalModuleFragmentForModuleUnit()
844 Module *
845 ModuleMap::createPrivateModuleFragmentForInterfaceUnit(Module *Parent, in createPrivateModuleFragmentForInterfaceUnit()
848 new Module("<private>", Loc, Parent, /*IsFramework*/ false, in createPrivateModuleFragmentForInterfaceUnit()
850 Result->Kind = Module::PrivateModuleFragment; in createPrivateModuleFragmentForInterfaceUnit()
854 Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc, in createModuleForInterfaceUnit()
856 Module *GlobalModule) { in createModuleForInterfaceUnit()
861 new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createModuleForInterfaceUnit()
863 Result->Kind = Module::ModuleInterfaceUnit; in createModuleForInterfaceUnit()
882 Module *ModuleMap::createHeaderModule(StringRef Name, in createHeaderModule()
883 ArrayRef<Module::Header> Headers) { in createHeaderModule()
888 new Module(Name, SourceLocation(), nullptr, /*IsFramework*/ false, in createHeaderModule()
890 Result->Kind = Module::ModuleInterfaceUnit; in createHeaderModule()
893 for (const Module::Header &H : Headers) { in createHeaderModule()
894 auto *M = new Module(H.NameAsWritten, SourceLocation(), Result, in createHeaderModule()
898 M->Exports.push_back(Module::ExportDecl(nullptr, true)); in createHeaderModule()
907 static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, in inferFrameworkLink()
923 Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, in inferFrameworkLink()
930 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, in inferFrameworkModule()
931 bool IsSystem, Module *Parent) { in inferFrameworkModule()
937 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, in inferFrameworkModule()
938 Attributes Attrs, Module *Parent) { in inferFrameworkModule()
954 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule()
1024 Module *Result = new Module(ModuleName, SourceLocation(), Parent, in inferFrameworkModule()
1051 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in inferFrameworkModule()
1112 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework, in createShadowedModule()
1113 Module *ShadowingModule) { in createShadowedModule()
1116 Module *Result = in createShadowedModule()
1117 new Module(Name, SourceLocation(), /*Parent=*/nullptr, IsFramework, in createShadowedModule()
1128 Module *Mod, const FileEntry *UmbrellaHeader, const Twine &NameAsWritten, in setUmbrellaHeader()
1142 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir, in setUmbrellaDir()
1152 void ModuleMap::addUnresolvedHeader(Module *Mod, in addUnresolvedHeader()
1153 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader()
1172 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1204 void ModuleMap::resolveHeaderDirectives(Module *Mod) const { in resolveHeaderDirectives()
1213 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader()
1242 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) { in excludeHeader()
1249 Mod->Headers[Module::HK_Excluded].push_back(std::move(Header)); in excludeHeader()
1253 ModuleMap::getContainingModuleMapFile(const Module *Module) const { in getContainingModuleMapFile()
1254 if (Module->DefinitionLoc.isInvalid()) in getContainingModuleMapFile()
1258 SourceMgr.getFileID(Module->DefinitionLoc)); in getContainingModuleMapFile()
1261 const FileEntry *ModuleMap::getModuleMapFileForUniquing(const Module *M) const { in getModuleMapFileForUniquing()
1269 void ModuleMap::setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap) { in setInferredModuleAllowedBy()
1274 void ModuleMap::addAdditionalModuleMapFile(const Module *M, in addAdditionalModuleMapFile()
1281 for (llvm::StringMap<Module *>::iterator M = Modules.begin(), in dump()
1301 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports()
1305 Module::ExportDecl Export = resolveExport(Mod, UE, Complain); in resolveExports()
1314 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses()
1318 Module *DirectUse = resolveModuleId(UDU, Mod, Complain); in resolveUses()
1327 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts()
1331 if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) { in resolveConflicts()
1332 Module::Conflict Conflict; in resolveConflicts()
1449 Module *ActiveModule = nullptr;
1459 llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack;
1764 const Module *M, SourceRange ReplLoc) { in diagnosePrivateModules()
1899 Module *PreviousActiveModule = ActiveModule; in parseModuleDecl()
1904 const Module *TopLevelModule = nullptr; in parseModuleDecl()
1906 if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) { in parseModuleDecl()
1948 Module *ShadowingModule = nullptr; in parseModuleDecl()
1949 if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) { in parseModuleDecl()
2199 static bool shouldAddRequirement(Module *M, StringRef Feature, in shouldAddRequirement()
2318 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl()
2323 (LeadingToken == MMToken::ExcludeKeyword ? Module::HK_Excluded in parseHeaderDecl()
2398 static int compareModuleHeaders(const Module::Header *A, in compareModuleHeaders()
2399 const Module::Header *B) { in compareModuleHeaders()
2453 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2459 Module::Header Header = {"", std::string(I->path()), *FE}; in parseUmbrellaDirDecl()
2472 if (Module *OwningModule = Map.UmbrellaDirs[Dir]) { in parseUmbrellaDirDecl()
2525 Module::UnresolvedExportDecl Unresolved = { in parseExportDecl()
2610 ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, in parseLinkDecl()
2694 Module::UnresolvedConflict Conflict; in parseConflict()