Lines Matching refs:Header

175     Module *M, const Module::UnresolvedHeaderDirective &Header,  in findHeader()  argument
184 if (!File || (Header.Size && File->getSize() != *Header.Size) || in findHeader()
185 (Header.ModTime && File->getModificationTime() != *Header.ModTime)) in findHeader()
196 llvm::sys::path::append(RelativePathName, "Headers", Header.FileName); in findHeader()
213 Header.FileName); in findHeader()
218 if (llvm::sys::path::is_absolute(Header.FileName)) { in findHeader()
220 RelativePathName.append(Header.FileName.begin(), Header.FileName.end()); in findHeader()
221 return GetFile(Header.FileName); in findHeader()
228 llvm::sys::path::append(RelativePathName, Header.FileName); in findHeader()
239 Diags.Report(Header.FileNameLoc, in findHeader()
241 << Header.FileName << M->getFullModuleName(); in findHeader()
251 const Module::UnresolvedHeaderDirective &Header, in resolveHeader() argument
255 findHeader(Mod, Header, RelativePathName, NeedsFramework)) { in resolveHeader()
256 if (Header.IsUmbrella) { in resolveHeader()
259 Diags.Report(Header.FileNameLoc, diag::err_mmap_umbrella_clash) in resolveHeader()
263 setUmbrellaHeader(Mod, *File, Header.FileName, RelativePathName.str()); in resolveHeader()
265 Module::Header H = {Header.FileName, std::string(RelativePathName.str()), in resolveHeader()
267 if (Header.Kind == Module::HK_Excluded) in resolveHeader()
270 addHeader(Mod, H, headerKindToRole(Header.Kind)); in resolveHeader()
272 } else if (Header.HasBuiltinHeader && !Header.Size && !Header.ModTime) { in resolveHeader()
275 } else if (Header.Kind == Module::HK_Excluded) { in resolveHeader()
280 Mod->MissingHeaders.push_back(Header); in resolveHeader()
285 if (!Header.Size && !Header.ModTime) in resolveHeader()
291 Module *Mod, const Module::UnresolvedHeaderDirective &Header) { in resolveAsBuiltinHeader() argument
292 if (Header.Kind == Module::HK_Excluded || in resolveAsBuiltinHeader()
293 llvm::sys::path::is_absolute(Header.FileName) || in resolveAsBuiltinHeader()
294 Mod->isPartOfFramework() || !Mod->IsSystem || Header.IsUmbrella || in resolveAsBuiltinHeader()
296 !isBuiltinHeader(Header.FileName)) in resolveAsBuiltinHeader()
303 llvm::sys::path::append(Path, BuiltinIncludeDir->getName(), Header.FileName); in resolveAsBuiltinHeader()
308 auto Role = headerKindToRole(Header.Kind); in resolveAsBuiltinHeader()
309 Module::Header H = {Header.FileName, std::string(Path.str()), *File}; in resolveAsBuiltinHeader()
448 ModuleMap::KnownHeader Header) { in violatesPrivateInclude() argument
450 if (Header.getRole() & ModuleMap::PrivateHeader) { 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 std::find_if(Hs->begin(), Hs->end(), [&](const Module::Header &H) { in violatesPrivateInclude()
466 return !Header.isAccessibleFrom(RequestingModule); in violatesPrivateInclude()
494 for (const KnownHeader &Header : Known->second) { in diagnoseHeaderInclusion() local
496 if (violatesPrivateInclude(RequestingModule, File, Header)) { in diagnoseHeaderInclusion()
497 Private = Header.getModule(); in diagnoseHeaderInclusion()
504 !RequestingModule->directlyUses(Header.getModule())) { in diagnoseHeaderInclusion()
505 NotUsed = Header.getModule(); in diagnoseHeaderInclusion()
661 KnownHeader Header(Result, NormalHeader); in findOrCreateModuleForHeaderInUmbrellaDir() local
662 Headers[File].push_back(Header); in findOrCreateModuleForHeaderInUmbrellaDir()
663 return Header; in findOrCreateModuleForHeaderInUmbrellaDir()
691 bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) const { in isHeaderInUnavailableModule()
692 return isHeaderUnavailableInModule(Header, nullptr); in isHeaderInUnavailableModule()
696 ModuleMap::isHeaderUnavailableInModule(const FileEntry *Header, in isHeaderUnavailableInModule() argument
698 resolveHeaderDirectives(Header); in isHeaderUnavailableInModule()
699 HeadersMap::const_iterator Known = Headers.find(Header); in isHeaderUnavailableInModule()
722 const DirectoryEntry *Dir = Header->getDir(); in isHeaderUnavailableInModule()
764 llvm::sys::path::stem(Header->getName()), in isHeaderUnavailableInModule()
883 ArrayRef<Module::Header> Headers) { in createHeaderModule()
893 for (const Module::Header &H : Headers) { in createHeaderModule()
1153 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader() argument
1157 if (resolveAsBuiltinHeader(Mod, Header)) { in addUnresolvedHeader()
1162 Header.Kind = headerRoleToKind(ModuleMap::ModuleHeaderRole( in addUnresolvedHeader()
1163 headerKindToRole(Header.Kind) | ModuleMap::TextualHeader)); in addUnresolvedHeader()
1164 Header.HasBuiltinHeader = true; in addUnresolvedHeader()
1171 if ((Header.Size || Header.ModTime) && !Header.IsUmbrella && in addUnresolvedHeader()
1172 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1175 if (Header.ModTime) in addUnresolvedHeader()
1176 LazyHeadersByModTime[*Header.ModTime].push_back(Mod); in addUnresolvedHeader()
1178 LazyHeadersBySize[*Header.Size].push_back(Mod); in addUnresolvedHeader()
1179 Mod->UnresolvedHeaders.push_back(Header); in addUnresolvedHeader()
1185 resolveHeader(Mod, Header, NeedsFramework); in addUnresolvedHeader()
1206 for (auto &Header : Mod->UnresolvedHeaders) in resolveHeaderDirectives() local
1209 const_cast<ModuleMap*>(this)->resolveHeader(Mod, Header, NeedsFramework); in resolveHeaderDirectives()
1213 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader() argument
1220 auto &HeaderList = Headers[Header.Entry]; in addHeader()
1226 Mod->Headers[headerRoleToKind(Role)].push_back(Header); in addHeader()
1233 HeaderInfo.MarkFileModuleHeader(Header.Entry, Role, in addHeader()
1239 Cb->moduleMapAddHeader(Header.Entry->getName()); in addHeader()
1242 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) { in excludeHeader() argument
1247 (void) Headers[Header.Entry]; in excludeHeader()
1249 Mod->Headers[Module::HK_Excluded].push_back(std::move(Header)); in excludeHeader()
2318 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl() local
2319 Header.FileName = std::string(Tok.getString()); in parseHeaderDecl()
2320 Header.FileNameLoc = consumeToken(); in parseHeaderDecl()
2321 Header.IsUmbrella = LeadingToken == MMToken::UmbrellaKeyword; in parseHeaderDecl()
2322 Header.Kind = in parseHeaderDecl()
2327 if (Header.IsUmbrella && ActiveModule->Umbrella) { in parseHeaderDecl()
2328 Diags.Report(Header.FileNameLoc, diag::err_mmap_umbrella_clash) in parseHeaderDecl()
2348 if (Header.Size) in parseHeaderDecl()
2356 Header.Size = Tok.getInteger(); in parseHeaderDecl()
2361 if (Header.ModTime) in parseHeaderDecl()
2369 Header.ModTime = Tok.getInteger(); in parseHeaderDecl()
2390 Map.addUnresolvedHeader(ActiveModule, std::move(Header), NeedsFramework); in parseHeaderDecl()
2398 static int compareModuleHeaders(const Module::Header *A, in compareModuleHeaders()
2399 const Module::Header *B) { in compareModuleHeaders()
2453 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2459 Module::Header Header = {"", std::string(I->path()), *FE}; in parseUmbrellaDirDecl() local
2460 Headers.push_back(std::move(Header)); in parseUmbrellaDirDecl()
2467 for (auto &Header : Headers) in parseUmbrellaDirDecl() local
2468 Map.addHeader(ActiveModule, std::move(Header), ModuleMap::TextualHeader); in parseUmbrellaDirDecl()