Lines Matching refs:Mod
59 void ModuleMap::resolveLinkAsDependencies(Module *Mod) { in resolveLinkAsDependencies() argument
60 auto PendingLinkAs = PendingLinkAsModule.find(Mod->Name); in resolveLinkAsDependencies()
70 void ModuleMap::addLinkAsDependency(Module *Mod) { in addLinkAsDependency() argument
71 if (findModule(Mod->ExportAsModule)) in addLinkAsDependency()
72 Mod->UseExportAsModuleLinkName = true; in addLinkAsDependency()
74 PendingLinkAsModule[Mod->ExportAsModule].insert(Mod->Name); in addLinkAsDependency()
109 ModuleMap::resolveExport(Module *Mod, in resolveExport() argument
119 Module *Context = resolveModuleId(Unresolved.Id, Mod, Complain); in resolveExport()
126 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod, in resolveModuleId() argument
129 Module *Context = lookupModuleUnqualified(Id[0].first, Mod); in resolveModuleId()
133 << Id[0].first << Mod->getFullModuleName(); in resolveModuleId()
158 static void appendSubframeworkPaths(Module *Mod, in appendSubframeworkPaths() argument
162 for (; Mod; Mod = Mod->Parent) { in appendSubframeworkPaths()
163 if (Mod->IsFramework) in appendSubframeworkPaths()
164 Paths.push_back(Mod->Name); in appendSubframeworkPaths()
251 void ModuleMap::resolveHeader(Module *Mod, in resolveHeader() argument
256 findHeader(Mod, Header, RelativePathName, NeedsFramework)) { in resolveHeader()
264 setUmbrellaHeader(Mod, File, RelativePathName.str()); in resolveHeader()
268 excludeHeader(Mod, H); in resolveHeader()
270 addHeader(Mod, H, headerKindToRole(Header.Kind)); in resolveHeader()
280 Mod->MissingHeaders.push_back(Header); in resolveHeader()
286 Mod->markUnavailable(); in resolveHeader()
291 Module *Mod, const Module::UnresolvedHeaderDirective &Header) { in resolveAsBuiltinHeader() argument
294 Mod->isPartOfFramework() || !Mod->IsSystem || Header.IsUmbrella || in resolveAsBuiltinHeader()
295 !BuiltinIncludeDir || BuiltinIncludeDir == Mod->Directory || in resolveAsBuiltinHeader()
310 addHeader(Mod, H, Role); in resolveAsBuiltinHeader()
871 static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, in inferFrameworkLink() argument
873 assert(Mod->IsFramework && "Can only infer linking for framework modules"); in inferFrameworkLink()
874 assert(!Mod->isSubFramework() && in inferFrameworkLink()
879 llvm::sys::path::append(LibName, Mod->Name); in inferFrameworkLink()
887 Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, in inferFrameworkLink()
918 if (Module *Mod = lookupModuleQualified(ModuleName, Parent)) in inferFrameworkModule() local
919 return Mod; in inferFrameworkModule()
1086 void ModuleMap::setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader, in setUmbrellaHeader() argument
1088 Headers[UmbrellaHeader].push_back(KnownHeader(Mod, NormalHeader)); in setUmbrellaHeader()
1089 Mod->Umbrella = UmbrellaHeader; in setUmbrellaHeader()
1090 Mod->UmbrellaAsWritten = NameAsWritten.str(); in setUmbrellaHeader()
1091 UmbrellaDirs[UmbrellaHeader->getDir()] = Mod; in setUmbrellaHeader()
1098 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir, in setUmbrellaDir() argument
1100 Mod->Umbrella = UmbrellaDir; in setUmbrellaDir()
1101 Mod->UmbrellaAsWritten = NameAsWritten.str(); in setUmbrellaDir()
1102 UmbrellaDirs[UmbrellaDir] = Mod; in setUmbrellaDir()
1105 void ModuleMap::addUnresolvedHeader(Module *Mod, in addUnresolvedHeader() argument
1110 if (resolveAsBuiltinHeader(Mod, Header)) { in addUnresolvedHeader()
1129 LazyHeadersByModTime[*Header.ModTime].push_back(Mod); in addUnresolvedHeader()
1131 LazyHeadersBySize[*Header.Size].push_back(Mod); in addUnresolvedHeader()
1132 Mod->UnresolvedHeaders.push_back(Header); in addUnresolvedHeader()
1138 resolveHeader(Mod, Header, NeedsFramework); in addUnresolvedHeader()
1157 void ModuleMap::resolveHeaderDirectives(Module *Mod) const { in resolveHeaderDirectives()
1159 for (auto &Header : Mod->UnresolvedHeaders) in resolveHeaderDirectives()
1162 const_cast<ModuleMap*>(this)->resolveHeader(Mod, Header, NeedsFramework); in resolveHeaderDirectives()
1163 Mod->UnresolvedHeaders.clear(); in resolveHeaderDirectives()
1166 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader() argument
1168 KnownHeader KH(Mod, Role); in addHeader()
1179 Mod->Headers[headerRoleToKind(Role)].push_back(Header); in addHeader()
1182 LangOpts.isCompilingModule() && Mod->getTopLevelModule() == SourceModule; in addHeader()
1195 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) { in excludeHeader() argument
1202 Mod->Headers[Module::HK_Excluded].push_back(std::move(Header)); in excludeHeader()
1249 bool ModuleMap::resolveExports(Module *Mod, bool Complain) { in resolveExports() argument
1250 auto Unresolved = std::move(Mod->UnresolvedExports); in resolveExports()
1251 Mod->UnresolvedExports.clear(); in resolveExports()
1253 Module::ExportDecl Export = resolveExport(Mod, UE, Complain); in resolveExports()
1255 Mod->Exports.push_back(Export); in resolveExports()
1257 Mod->UnresolvedExports.push_back(UE); in resolveExports()
1259 return !Mod->UnresolvedExports.empty(); in resolveExports()
1262 bool ModuleMap::resolveUses(Module *Mod, bool Complain) { in resolveUses() argument
1263 auto Unresolved = std::move(Mod->UnresolvedDirectUses); in resolveUses()
1264 Mod->UnresolvedDirectUses.clear(); in resolveUses()
1266 Module *DirectUse = resolveModuleId(UDU, Mod, Complain); in resolveUses()
1268 Mod->DirectUses.push_back(DirectUse); in resolveUses()
1270 Mod->UnresolvedDirectUses.push_back(UDU); in resolveUses()
1272 return !Mod->UnresolvedDirectUses.empty(); in resolveUses()
1275 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { in resolveConflicts() argument
1276 auto Unresolved = std::move(Mod->UnresolvedConflicts); in resolveConflicts()
1277 Mod->UnresolvedConflicts.clear(); in resolveConflicts()
1279 if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) { in resolveConflicts()
1283 Mod->Conflicts.push_back(Conflict); in resolveConflicts()
1285 Mod->UnresolvedConflicts.push_back(UC); in resolveConflicts()
1287 return !Mod->UnresolvedConflicts.empty(); in resolveConflicts()