Lines Matching refs:Module
39 Module::ExportDecl
40 ModuleMap::resolveExport(Module *Mod, in resolveExport()
41 const Module::UnresolvedExportDecl &Unresolved, in resolveExport()
46 return Module::ExportDecl(nullptr, true); in resolveExport()
50 Module *Context = resolveModuleId(Unresolved.Id, Mod, Complain); in resolveExport()
52 return Module::ExportDecl(); in resolveExport()
54 return Module::ExportDecl(Context, Unresolved.Wildcard); in resolveExport()
57 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod, in resolveModuleId()
60 Module *Context = lookupModuleUnqualified(Id[0].first, Mod); in resolveModuleId()
71 Module *Sub = lookupModuleQualified(Id[I].first, Context); in resolveModuleId()
97 for (llvm::StringMap<Module *>::iterator I = Modules.begin(), in ~ModuleMap()
208 static bool violatesPrivateInclude(Module *RequestingModule, in violatesPrivateInclude()
211 Module *RequestedModule) { in violatesPrivateInclude()
219 SmallVectorImpl<Module::Header> *HeaderList[] = { in violatesPrivateInclude()
220 &RequestedModule->Headers[Module::HK_Private], in violatesPrivateInclude()
221 &RequestedModule->Headers[Module::HK_PrivateTextual]}; in violatesPrivateInclude()
224 std::find_if(Hs->begin(), Hs->end(), [&](const Module::Header &H) { in violatesPrivateInclude()
237 static Module *getTopLevelOrNull(Module *M) { in getTopLevelOrNull()
241 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, in diagnoseHeaderInclusion()
254 Module *Private = nullptr; in diagnoseHeaderInclusion()
255 Module *NotUsed = nullptr; in diagnoseHeaderInclusion()
335 Module *RequestingModule, in findModuleForHeader()
376 Module *Result = H.getModule(); in findModuleForHeader()
380 Module *UmbrellaModule = Result; in findModuleForHeader()
409 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findModuleForHeader()
425 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in findModuleForHeader()
452 const Module *RequestingModule) const { in isHeaderUnavailableInModule()
470 auto IsUnavailable = [&](const Module *M) { in isHeaderUnavailableInModule()
478 llvm::DenseMap<const DirectoryEntry *, Module *>::const_iterator KnownDir in isHeaderUnavailableInModule()
481 Module *Found = KnownDir->second; in isHeaderUnavailableInModule()
487 Module *UmbrellaModule = Found; in isHeaderUnavailableInModule()
532 Module *ModuleMap::findModule(StringRef Name) const { in findModule()
533 llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name); in findModule()
540 Module *ModuleMap::lookupModuleUnqualified(StringRef Name, in lookupModuleUnqualified()
541 Module *Context) const { in lookupModuleUnqualified()
543 if (Module *Sub = lookupModuleQualified(Name, Context)) in lookupModuleUnqualified()
550 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ in lookupModuleQualified()
557 std::pair<Module *, bool>
558 ModuleMap::findOrCreateModule(StringRef Name, Module *Parent, bool IsFramework, in findOrCreateModule()
561 if (Module *Sub = lookupModuleQualified(Name, Parent)) in findOrCreateModule()
565 Module *Result = new Module(Name, SourceLocation(), Parent, in findOrCreateModule()
583 static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, in inferFrameworkLink()
593 Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, in inferFrameworkLink()
598 Module *
602 Module *Parent) { in inferFrameworkModule()
608 Module *ModuleMap::inferFrameworkModule(StringRef ModuleName, in inferFrameworkModule()
610 Attributes Attrs, Module *Parent) { in inferFrameworkModule()
613 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule()
695 Module *Result = new Module(ModuleName, SourceLocation(), Parent, in inferFrameworkModule()
717 Result->Exports.push_back(Module::ExportDecl(nullptr, true)); in inferFrameworkModule()
775 void ModuleMap::setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader){ in setUmbrellaHeader()
781 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir) { in setUmbrellaDir()
786 static Module::HeaderKind headerRoleToKind(ModuleMap::ModuleHeaderRole Role) { in headerRoleToKind()
790 return Module::HK_Normal; in headerRoleToKind()
792 return Module::HK_Private; in headerRoleToKind()
794 return Module::HK_Textual; in headerRoleToKind()
796 return Module::HK_PrivateTextual; in headerRoleToKind()
800 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader()
812 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) { in excludeHeader()
819 Mod->Headers[Module::HK_Excluded].push_back(std::move(Header)); in excludeHeader()
823 ModuleMap::getContainingModuleMapFile(const Module *Module) const { in getContainingModuleMapFile()
824 if (Module->DefinitionLoc.isInvalid()) in getContainingModuleMapFile()
828 SourceMgr.getFileID(Module->DefinitionLoc)); in getContainingModuleMapFile()
831 const FileEntry *ModuleMap::getModuleMapFileForUniquing(const Module *M) const { in getModuleMapFileForUniquing()
839 void ModuleMap::setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap) { in setInferredModuleAllowedBy()
846 for (llvm::StringMap<Module *>::iterator M = Modules.begin(), in dump()
866 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports()
869 Module::ExportDecl Export = resolveExport(Mod, Mod->UnresolvedExports[I], in resolveExports()
880 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses()
883 Module *DirectUse = in resolveUses()
894 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts()
897 Module *OtherMod = resolveModuleId(Mod->UnresolvedConflicts[I].Id, in resolveConflicts()
904 Module::Conflict Conflict; in resolveConflicts()
913 Module *ModuleMap::inferModuleFromLocation(FullSourceLoc Loc) { in inferModuleFromLocation()
928 if (Module *Mod = findModuleForHeader(ExpansionFile).getModule()) in inferModuleFromLocation()
1036 Module *ActiveModule;
1358 Module *PreviousActiveModule = ActiveModule; in parseModuleDecl()
1363 const Module *TopLevelModule = nullptr; in parseModuleDecl()
1365 if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) { in parseModuleDecl()
1408 if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) { in parseModuleDecl()
1641 static void appendSubframeworkPaths(Module *Mod, in appendSubframeworkPaths()
1700 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl()
1775 if (Module *UmbrellaModule = Map.UmbrellaDirs[UmbrellaDir]) { in parseHeaderDecl()
1784 Module::Header H = {RelativePathName.str(), File}; in parseHeaderDecl()
1794 Module::Header H = { BuiltinFile->getName(), BuiltinFile }; in parseHeaderDecl()
1799 Module::Header H = { RelativePathName.str(), File }; in parseHeaderDecl()
1855 if (Module *OwningModule = Map.UmbrellaDirs[Dir]) { in parseUmbrellaDirDecl()
1908 Module::UnresolvedExportDecl Unresolved = { in parseExportDecl()
1956 ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, in parseLinkDecl()
2038 Module::UnresolvedConflict Conflict; in parseConflict()