Lines Matching refs:ModuleFile
21 #include "clang/Serialization/ModuleFile.h"
44 ModuleFile *ModuleManager::lookupByFileName(StringRef Name) const {
53 ModuleFile *ModuleManager::lookupByModuleName(StringRef Name) const {
61 ModuleFile *ModuleManager::lookup(const FileEntry *File) const {
85 static void updateModuleImports(ModuleFile &MF, ModuleFile *ImportedBy,
100 SourceLocation ImportLoc, ModuleFile *ImportedBy,
105 ModuleFile *&Module,
138 // ModuleFile associated with a given file. In general, it is not sufficient
145 auto implicitModuleNamesMatch = [](ModuleKind Kind, const ModuleFile *MF,
153 if (ModuleFile *ModuleEntry = Modules.lookup(*Entry)) {
166 auto NewModule = std::make_unique<ModuleFile>(Type, *Entry, Generation);
174 ModuleFile::getTimestampFilename(NewModule->FileName);
251 llvm::SmallPtrSet<ModuleFile *, 4> victimSet(
255 auto IsVictim = [&](ModuleFile *MF) {
315 for (ModuleFile &M : *this)
320 void ModuleManager::moduleFileAccepted(ModuleFile *MF) {
334 void ModuleManager::visit(llvm::function_ref<bool(ModuleFile &M)> Visitor,
335 llvm::SmallPtrSetImpl<ModuleFile *> *ModuleFilesHit) {
345 SmallVector<ModuleFile *, 4> Queue;
349 for (ModuleFile &M : llvm::reverse(*this)) {
359 ModuleFile *CurrentModule = Queue.pop_back_val();
364 for (ModuleFile *M : llvm::reverse(CurrentModule->Imports)) {
389 ModuleFile *M = ModulesInCommonWithGlobalIndex[I];
396 ModuleFile *CurrentModule = VisitOrder[I];
410 ModuleFile *NextModule = CurrentModule;
414 for (llvm::SetVector<ModuleFile *>::iterator
463 using NodeRef = ModuleFile *;
464 using ChildIteratorType = llvm::SetVector<ModuleFile *>::const_iterator;
491 std::string getNodeLabel(ModuleFile *M, const ModuleManager&) {