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()
674 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
690 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
733 FileEntryRef Header, const Module *RequestingModule) const { in isHeaderUnavailableInModule()
765 auto IsUnavailable = [&](const Module *M) { in isHeaderUnavailableInModule()
775 Module *Found = KnownDir->second; in isHeaderUnavailableInModule()
781 Module *UmbrellaModule = Found; in isHeaderUnavailableInModule()
826 Module *ModuleMap::findModule(StringRef Name) const { in findModule()
827 llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name); in findModule()
834 Module *ModuleMap::lookupModuleUnqualified(StringRef Name, in lookupModuleUnqualified()
835 Module *Context) const { in lookupModuleUnqualified()
837 if (Module *Sub = lookupModuleQualified(Name, Context)) in lookupModuleUnqualified()
844 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ in lookupModuleQualified()
851 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name, in findOrCreateModule()
852 Module *Parent, in findOrCreateModule()
856 if (Module *Sub = lookupModuleQualified(Name, Parent)) in findOrCreateModule()
860 Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework, in findOrCreateModule()
871 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc, in createGlobalModuleFragmentForModuleUnit()
872 Module *Parent) { in createGlobalModuleFragmentForModuleUnit()
873 auto *Result = new Module("<global>", Loc, Parent, /*IsFramework*/ false, in createGlobalModuleFragmentForModuleUnit()
875 Result->Kind = Module::ExplicitGlobalModuleFragment; in createGlobalModuleFragmentForModuleUnit()
883 Module *
885 Module *Parent) { in createImplicitGlobalModuleFragmentForModuleUnit()
892 new Module("<implicit global>", Loc, Parent, /*IsFramework=*/false, in createImplicitGlobalModuleFragmentForModuleUnit()
894 Result->Kind = Module::ImplicitGlobalModuleFragment; in createImplicitGlobalModuleFragmentForModuleUnit()
898 Module *
899 ModuleMap::createPrivateModuleFragmentForInterfaceUnit(Module *Parent, in createPrivateModuleFragmentForInterfaceUnit()
902 new Module("<private>", Loc, Parent, /*IsFramework*/ false, in createPrivateModuleFragmentForInterfaceUnit()
904 Result->Kind = Module::PrivateModuleFragment; in createPrivateModuleFragmentForInterfaceUnit()
908 Module *ModuleMap::createModuleUnitWithKind(SourceLocation Loc, StringRef Name, in createModuleUnitWithKind()
909 Module::ModuleKind Kind) { in createModuleUnitWithKind()
911 new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createModuleUnitWithKind()
924 Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc, in createModuleForInterfaceUnit()
930 createModuleUnitWithKind(Loc, Name, Module::ModuleInterfaceUnit); in createModuleForInterfaceUnit()
942 Module *ModuleMap::createModuleForImplementationUnit(SourceLocation Loc, in createModuleForImplementationUnit()
946 assert(Modules[Name] && Modules[Name]->Kind == Module::ModuleInterfaceUnit && in createModuleForImplementationUnit()
956 createModuleUnitWithKind(Loc, Name, Module::ModuleImplementationUnit); in createModuleForImplementationUnit()
966 Module *ModuleMap::createHeaderUnit(SourceLocation Loc, StringRef Name, in createHeaderUnit()
967 Module::Header H) { in createHeaderUnit()
971 auto *Result = new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createHeaderUnit()
973 Result->Kind = Module::ModuleHeaderUnit; in createHeaderUnit()
981 static void inferFrameworkLink(Module *Mod) { in inferFrameworkLink()
988 Mod->LinkLibraries.push_back(Module::LinkLibrary(FrameworkName.str(), in inferFrameworkLink()
992 Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir, in inferFrameworkModule()
993 bool IsSystem, Module *Parent) { in inferFrameworkModule()
999 Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir, in inferFrameworkModule()
1000 Attributes Attrs, Module *Parent) { in inferFrameworkModule()
1016 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule()
1085 Module *Result = new Module(ModuleName, SourceLocation(), Parent, in inferFrameworkModule()
1113 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in inferFrameworkModule()
1171 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework, in createShadowedModule()
1172 Module *ShadowingModule) { in createShadowedModule()
1175 Module *Result = in createShadowedModule()
1176 new Module(Name, SourceLocation(), /*Parent=*/nullptr, IsFramework, in createShadowedModule()
1187 Module *Mod, FileEntryRef UmbrellaHeader, const Twine &NameAsWritten, in setUmbrellaHeaderAsWritten()
1202 Module *Mod, DirectoryEntryRef UmbrellaDir, const Twine &NameAsWritten, in setUmbrellaDirAsWritten()
1211 void ModuleMap::addUnresolvedHeader(Module *Mod, in addUnresolvedHeader()
1212 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader()
1231 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1264 Module *Mod, std::optional<const FileEntry *> File) const { in resolveHeaderDirectives()
1266 SmallVector<Module::UnresolvedHeaderDirective, 1> NewHeaders; in resolveHeaderDirectives()
1282 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader()
1309 FileID ModuleMap::getContainingModuleMapFileID(const Module *Module) const { in getContainingModuleMapFileID()
1310 if (Module->DefinitionLoc.isInvalid()) in getContainingModuleMapFileID()
1313 return SourceMgr.getFileID(Module->DefinitionLoc); in getContainingModuleMapFileID()
1317 ModuleMap::getContainingModuleMapFile(const Module *Module) const { in getContainingModuleMapFile()
1318 return SourceMgr.getFileEntryRefForID(getContainingModuleMapFileID(Module)); in getContainingModuleMapFile()
1321 FileID ModuleMap::getModuleMapFileIDForUniquing(const Module *M) const { in getModuleMapFileIDForUniquing()
1330 ModuleMap::getModuleMapFileForUniquing(const Module *M) const { in getModuleMapFileForUniquing()
1334 void ModuleMap::setInferredModuleAllowedBy(Module *M, FileID ModMapFID) { in setInferredModuleAllowedBy()
1372 void ModuleMap::addAdditionalModuleMapFile(const Module *M, in addAdditionalModuleMapFile()
1379 for (llvm::StringMap<Module *>::iterator M = Modules.begin(), in dump()
1399 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports()
1403 Module::ExportDecl Export = resolveExport(Mod, UE, Complain); in resolveExports()
1412 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses()
1417 Module *DirectUse = resolveModuleId(UDU, Top, Complain); in resolveUses()
1426 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts()
1430 if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) { in resolveConflicts()
1431 Module::Conflict Conflict; in resolveConflicts()
1548 Module *ActiveModule = nullptr;
1558 llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack;
1860 const Module *M, SourceRange ReplLoc) { in diagnosePrivateModules()
1995 Module *PreviousActiveModule = ActiveModule; in parseModuleDecl()
2000 const Module *TopLevelModule = nullptr; in parseModuleDecl()
2002 if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) { in parseModuleDecl()
2046 Module *ShadowingModule = nullptr; in parseModuleDecl()
2047 if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) { in parseModuleDecl()
2315 static bool shouldAddRequirement(Module *M, StringRef Feature, in shouldAddRequirement()
2437 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl()
2522 static bool compareModuleHeaders(const Module::Header &A, in compareModuleHeaders()
2523 const Module::Header &B) { in compareModuleHeaders()
2575 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2581 Module::Header Header = {"", std::string(I->path()), *FE}; in parseUmbrellaDirDecl()
2594 if (Module *OwningModule = Map.UmbrellaDirs[*Dir]) { in parseUmbrellaDirDecl()
2647 Module::UnresolvedExportDecl Unresolved = { in parseExportDecl()
2732 ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, in parseLinkDecl()
2816 Module::UnresolvedConflict Conflict; in parseConflict()