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 *Hs, [&](const Module::Header &H) { return H.Entry == IncFileEnt; }); in violatesPrivateInclude()
467 static Module *getTopLevelOrNull(Module *M) { in getTopLevelOrNull()
471 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, in diagnoseHeaderInclusion()
486 Module *Private = nullptr; in diagnoseHeaderInclusion()
487 Module *NotUsed = nullptr; in diagnoseHeaderInclusion()
601 Module *Result = H.getModule(); in findOrCreateModuleForHeaderInUmbrellaDir()
605 Module *UmbrellaModule = Result; in findOrCreateModuleForHeaderInUmbrellaDir()
634 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
650 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findOrCreateModuleForHeaderInUmbrellaDir()
694 const Module *RequestingModule) const { in isHeaderUnavailableInModule()
723 auto IsUnavailable = [&](const Module *M) { in isHeaderUnavailableInModule()
731 llvm::DenseMap<const DirectoryEntry *, Module *>::const_iterator KnownDir in isHeaderUnavailableInModule()
734 Module *Found = KnownDir->second; in isHeaderUnavailableInModule()
740 Module *UmbrellaModule = Found; in isHeaderUnavailableInModule()
787 Module *ModuleMap::findModule(StringRef Name) const { in findModule()
788 llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name); in findModule()
795 Module *ModuleMap::lookupModuleUnqualified(StringRef Name, in lookupModuleUnqualified()
796 Module *Context) const { in lookupModuleUnqualified()
798 if (Module *Sub = lookupModuleQualified(Name, Context)) in lookupModuleUnqualified()
805 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ in lookupModuleQualified()
812 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name, in findOrCreateModule()
813 Module *Parent, in findOrCreateModule()
817 if (Module *Sub = lookupModuleQualified(Name, Parent)) in findOrCreateModule()
821 Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework, in findOrCreateModule()
832 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc, in createGlobalModuleFragmentForModuleUnit()
833 Module *Parent) { in createGlobalModuleFragmentForModuleUnit()
834 auto *Result = new Module("<global>", Loc, Parent, /*IsFramework*/ false, in createGlobalModuleFragmentForModuleUnit()
836 Result->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()
905 Module *ModuleMap::createHeaderUnit(SourceLocation Loc, StringRef Name, in createHeaderUnit()
906 Module::Header H) { in createHeaderUnit()
910 auto *Result = new Module(Name, Loc, nullptr, /*IsFramework*/ false, in createHeaderUnit()
912 Result->Kind = Module::ModuleHeaderUnit; in createHeaderUnit()
920 static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, in inferFrameworkLink()
936 Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, in inferFrameworkLink()
943 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, in inferFrameworkModule()
944 bool IsSystem, Module *Parent) { in inferFrameworkModule()
950 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, in inferFrameworkModule()
951 Attributes Attrs, Module *Parent) { in inferFrameworkModule()
967 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule()
1036 Module *Result = new Module(ModuleName, SourceLocation(), Parent, in inferFrameworkModule()
1063 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in inferFrameworkModule()
1124 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework, in createShadowedModule()
1125 Module *ShadowingModule) { in createShadowedModule()
1128 Module *Result = in createShadowedModule()
1129 new Module(Name, SourceLocation(), /*Parent=*/nullptr, IsFramework, in createShadowedModule()
1140 Module *Mod, const FileEntry *UmbrellaHeader, const Twine &NameAsWritten, in setUmbrellaHeader()
1154 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir, in setUmbrellaDir()
1164 void ModuleMap::addUnresolvedHeader(Module *Mod, in addUnresolvedHeader()
1165 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader()
1184 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1217 Module *Mod, llvm::Optional<const FileEntry *> File) const { in resolveHeaderDirectives()
1219 SmallVector<Module::UnresolvedHeaderDirective, 1> NewHeaders; in resolveHeaderDirectives()
1235 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader()
1263 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) { in excludeHeader()
1270 Mod->Headers[Module::HK_Excluded].push_back(std::move(Header)); in excludeHeader()
1274 ModuleMap::getContainingModuleMapFile(const Module *Module) const { in getContainingModuleMapFile()
1275 if (Module->DefinitionLoc.isInvalid()) in getContainingModuleMapFile()
1279 SourceMgr.getFileID(Module->DefinitionLoc)); in getContainingModuleMapFile()
1282 const FileEntry *ModuleMap::getModuleMapFileForUniquing(const Module *M) const { in getModuleMapFileForUniquing()
1290 void ModuleMap::setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap) { in setInferredModuleAllowedBy()
1295 void ModuleMap::addAdditionalModuleMapFile(const Module *M, in addAdditionalModuleMapFile()
1302 for (llvm::StringMap<Module *>::iterator M = Modules.begin(), in dump()
1322 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports()
1326 Module::ExportDecl Export = resolveExport(Mod, UE, Complain); in resolveExports()
1335 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses()
1339 Module *DirectUse = resolveModuleId(UDU, Mod, Complain); in resolveUses()
1348 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts()
1352 if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) { in resolveConflicts()
1353 Module::Conflict Conflict; in resolveConflicts()
1470 Module *ActiveModule = nullptr;
1480 llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack;
1785 const Module *M, SourceRange ReplLoc) { in diagnosePrivateModules()
1920 Module *PreviousActiveModule = ActiveModule; in parseModuleDecl()
1925 const Module *TopLevelModule = nullptr; in parseModuleDecl()
1927 if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) { in parseModuleDecl()
1969 Module *ShadowingModule = nullptr; in parseModuleDecl()
1970 if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) { in parseModuleDecl()
2220 static bool shouldAddRequirement(Module *M, StringRef Feature, in shouldAddRequirement()
2339 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl()
2344 (LeadingToken == MMToken::ExcludeKeyword ? Module::HK_Excluded in parseHeaderDecl()
2419 static int compareModuleHeaders(const Module::Header *A, in compareModuleHeaders()
2420 const Module::Header *B) { in compareModuleHeaders()
2474 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2480 Module::Header Header = {"", std::string(I->path()), *FE}; in parseUmbrellaDirDecl()
2493 if (Module *OwningModule = Map.UmbrellaDirs[Dir]) { in parseUmbrellaDirDecl()
2546 Module::UnresolvedExportDecl Unresolved = { in parseExportDecl()
2631 ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, in parseLinkDecl()
2715 Module::UnresolvedConflict Conflict; in parseConflict()