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()
79 return Module::HK_Normal; in headerRoleToKind()
81 return Module::HK_Private; in headerRoleToKind()
83 return Module::HK_Textual; in headerRoleToKind()
85 return Module::HK_PrivateTextual; in headerRoleToKind()
87 return Module::HK_Excluded; in headerRoleToKind()
93 ModuleMap::headerKindToRole(Module::HeaderKind Kind) { in headerKindToRole()
95 case Module::HK_Normal: in headerKindToRole()
97 case Module::HK_Private: in headerKindToRole()
99 case Module::HK_Textual: in headerKindToRole()
101 case Module::HK_PrivateTextual: in headerKindToRole()
103 case Module::HK_Excluded: in headerKindToRole()
113 Module::ExportDecl
114 ModuleMap::resolveExport(Module *Mod, in resolveExport()
115 const Module::UnresolvedExportDecl &Unresolved, in resolveExport()
120 return Module::ExportDecl(nullptr, true); in resolveExport()
124 Module *Context = resolveModuleId(Unresolved.Id, Mod, Complain); in resolveExport()
128 return Module::ExportDecl(Context, Unresolved.Wildcard); in resolveExport()
131 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod, in resolveModuleId()
134 Module *Context = lookupModuleUnqualified(Id[0].first, Mod); in resolveModuleId()
145 Module *Sub = lookupModuleQualified(Id[I].first, Context); in resolveModuleId()
163 static void appendSubframeworkPaths(Module *Mod, in appendSubframeworkPaths()
181 Module *M, const Module::UnresolvedHeaderDirective &Header, in findHeader()
295 void ModuleMap::resolveHeader(Module *Mod, in resolveHeader()
296 const Module::UnresolvedHeaderDirective &Header, in resolveHeader()
303 if (Module *UmbrellaMod = UmbrellaDirs[UmbrellaDir]) in resolveHeader()
311 Module::Header H = {Header.FileName, std::string(RelativePathName), in resolveHeader()
318 } else if (Header.Kind == Module::HK_Excluded) { in resolveHeader()
334 Module *Mod, const Module::UnresolvedHeaderDirective &Header) { in resolveAsBuiltinHeader()
335 if (Header.Kind == Module::HK_Excluded || in resolveAsBuiltinHeader()
351 Module::Header H = {Header.FileName, Header.FileName, *File}; in resolveAsBuiltinHeader()
421 Module *Module) const { in shouldImportRelativeToBuiltinIncludeDir()
423 Module->IsSystem && !Module->isPartOfFramework() && in shouldImportRelativeToBuiltinIncludeDir()
471 static bool violatesPrivateInclude(Module *RequestingModule, in violatesPrivateInclude()
480 SmallVectorImpl<Module::Header> *HeaderList[] = { in violatesPrivateInclude()
481 &Header.getModule()->Headers[Module::HK_Private], in violatesPrivateInclude()
482 &Header.getModule()->Headers[Module::HK_PrivateTextual]}; in violatesPrivateInclude()
485 *Hs, [&](const Module::Header &H) { return H.Entry == IncFileEnt; }); in violatesPrivateInclude()
492 static Module *getTopLevelOrNull(Module *M) { in getTopLevelOrNull()
496 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, in diagnoseHeaderInclusion()
511 Module *Private = nullptr; in diagnoseHeaderInclusion()
512 Module *NotUsed = nullptr; in diagnoseHeaderInclusion()
642 Module *Result = H.getModule(); in findOrCreateModuleForHeaderInUmbrellaDir()
646 Module *UmbrellaModule = Result; in findOrCreateModuleForHeaderInUmbrellaDir()
675 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
691 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
734 FileEntryRef Header, const Module *RequestingModule) const { in isHeaderUnavailableInModule()
766 auto IsUnavailable = [&](const Module *M) { in isHeaderUnavailableInModule()
776 Module *Found = KnownDir->second; in isHeaderUnavailableInModule()
782 Module *UmbrellaModule = Found; in isHeaderUnavailableInModule()
827 Module *ModuleMap::findModule(StringRef Name) const { in findModule()
828 llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name); in findModule()
835 Module *ModuleMap::lookupModuleUnqualified(StringRef Name, in lookupModuleUnqualified()
836 Module *Context) const { in lookupModuleUnqualified()
838 if (Module *Sub = lookupModuleQualified(Name, Context)) in lookupModuleUnqualified()
845 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ in lookupModuleQualified()
852 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name, in findOrCreateModule()
853 Module *Parent, in findOrCreateModule()
857 if (Module *Sub = lookupModuleQualified(Name, Parent)) in findOrCreateModule()
861 Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework, in findOrCreateModule()
872 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc, in createGlobalModuleFragmentForModuleUnit()
873 Module *Parent) { in createGlobalModuleFragmentForModuleUnit()
874 auto *Result = new Module("<global>", Loc, Parent, /*IsFramework*/ false, in createGlobalModuleFragmentForModuleUnit()
876 Result->Kind = Module::ExplicitGlobalModuleFragment; in createGlobalModuleFragmentForModuleUnit()
884 Module *
886 Module *Parent) { in createImplicitGlobalModuleFragmentForModuleUnit()
893 new Module("<implicit global>", Loc, Parent, /*IsFramework=*/false, in createImplicitGlobalModuleFragmentForModuleUnit()
895 Result->Kind = Module::ImplicitGlobalModuleFragment; in createImplicitGlobalModuleFragmentForModuleUnit()
899 Module *
900 ModuleMap::createPrivateModuleFragmentForInterfaceUnit(Module *Parent, in createPrivateModuleFragmentForInterfaceUnit()
903 new Module("<private>", Loc, Parent, /*IsFramework*/ false, in createPrivateModuleFragmentForInterfaceUnit()
905 Result->Kind = Module::PrivateModuleFragment; in createPrivateModuleFragmentForInterfaceUnit()
909 Module *ModuleMap::createModuleUnitWithKind(SourceLocation Loc, StringRef Name, in createModuleUnitWithKind()
910 Module::ModuleKind Kind) { in createModuleUnitWithKind()
912 new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createModuleUnitWithKind()
925 Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc, in createModuleForInterfaceUnit()
931 createModuleUnitWithKind(Loc, Name, Module::ModuleInterfaceUnit); in createModuleForInterfaceUnit()
943 Module *ModuleMap::createModuleForImplementationUnit(SourceLocation Loc, in createModuleForImplementationUnit()
947 assert(Modules[Name] && Modules[Name]->Kind == Module::ModuleInterfaceUnit && in createModuleForImplementationUnit()
957 createModuleUnitWithKind(Loc, Name, Module::ModuleImplementationUnit); in createModuleForImplementationUnit()
967 Module *ModuleMap::createHeaderUnit(SourceLocation Loc, StringRef Name, in createHeaderUnit()
968 Module::Header H) { in createHeaderUnit()
972 auto *Result = new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createHeaderUnit()
974 Result->Kind = Module::ModuleHeaderUnit; in createHeaderUnit()
982 static void inferFrameworkLink(Module *Mod) { in inferFrameworkLink()
989 Mod->LinkLibraries.push_back(Module::LinkLibrary(FrameworkName.str(), in inferFrameworkLink()
993 Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir, in inferFrameworkModule()
994 bool IsSystem, Module *Parent) { in inferFrameworkModule()
1000 Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir, in inferFrameworkModule()
1001 Attributes Attrs, Module *Parent) { in inferFrameworkModule()
1017 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule()
1086 Module *Result = new Module(ModuleName, SourceLocation(), Parent, in inferFrameworkModule()
1114 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in inferFrameworkModule()
1172 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework, in createShadowedModule()
1173 Module *ShadowingModule) { in createShadowedModule()
1176 Module *Result = in createShadowedModule()
1177 new Module(Name, SourceLocation(), /*Parent=*/nullptr, IsFramework, in createShadowedModule()
1188 Module *Mod, FileEntryRef UmbrellaHeader, const Twine &NameAsWritten, in setUmbrellaHeaderAsWritten()
1203 Module *Mod, DirectoryEntryRef UmbrellaDir, const Twine &NameAsWritten, in setUmbrellaDirAsWritten()
1212 void ModuleMap::addUnresolvedHeader(Module *Mod, in addUnresolvedHeader()
1213 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader()
1232 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1265 Module *Mod, std::optional<const FileEntry *> File) const { in resolveHeaderDirectives()
1267 SmallVector<Module::UnresolvedHeaderDirective, 1> NewHeaders; in resolveHeaderDirectives()
1283 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader()
1311 ModuleMap::getContainingModuleMapFile(const Module *Module) const { in getContainingModuleMapFile()
1312 if (Module->DefinitionLoc.isInvalid()) in getContainingModuleMapFile()
1316 SourceMgr.getFileID(Module->DefinitionLoc)); in getContainingModuleMapFile()
1320 ModuleMap::getModuleMapFileForUniquing(const Module *M) const { in getModuleMapFileForUniquing()
1328 void ModuleMap::setInferredModuleAllowedBy(Module *M, in setInferredModuleAllowedBy()
1367 void ModuleMap::addAdditionalModuleMapFile(const Module *M, in addAdditionalModuleMapFile()
1374 for (llvm::StringMap<Module *>::iterator M = Modules.begin(), in dump()
1394 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports()
1398 Module::ExportDecl Export = resolveExport(Mod, UE, Complain); in resolveExports()
1407 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses()
1412 Module *DirectUse = resolveModuleId(UDU, Top, Complain); in resolveUses()
1421 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts()
1425 if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) { in resolveConflicts()
1426 Module::Conflict Conflict; in resolveConflicts()
1543 Module *ActiveModule = nullptr;
1553 llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack;
1856 const Module *M, SourceRange ReplLoc) { in diagnosePrivateModules()
1991 Module *PreviousActiveModule = ActiveModule; in parseModuleDecl()
1996 const Module *TopLevelModule = nullptr; in parseModuleDecl()
1998 if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) { in parseModuleDecl()
2040 Module *ShadowingModule = nullptr; in parseModuleDecl()
2041 if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) { in parseModuleDecl()
2308 static bool shouldAddRequirement(Module *M, StringRef Feature, in shouldAddRequirement()
2430 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl()
2515 static bool compareModuleHeaders(const Module::Header &A, in compareModuleHeaders()
2516 const Module::Header &B) { in compareModuleHeaders()
2568 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2574 Module::Header Header = {"", std::string(I->path()), *FE}; in parseUmbrellaDirDecl()
2587 if (Module *OwningModule = Map.UmbrellaDirs[*Dir]) { in parseUmbrellaDirDecl()
2640 Module::UnresolvedExportDecl Unresolved = { in parseExportDecl()
2725 ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, in parseLinkDecl()
2809 Module::UnresolvedConflict Conflict; in parseConflict()