Skip to content

Commit ec3adfa

Browse files
jansvoboda11cachemeifyoucan
authored andcommitted
[clang] NFCI: Use FileEntryRef in ModuleMapParser
(cherry picked from commit c23d65b)
1 parent d1e909a commit ec3adfa

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

clang/include/clang/Lex/ModuleMap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ class ModuleMap {
731731
/// that caused us to load this module map file, if any.
732732
///
733733
/// \returns true if an error occurred, false otherwise.
734-
bool parseModuleMapFile(const FileEntry *File, bool IsSystem,
734+
bool parseModuleMapFile(FileEntryRef File, bool IsSystem,
735735
DirectoryEntryRef HomeDir, FileID ID = FileID(),
736736
unsigned *Offset = nullptr,
737737
SourceLocation ExternModuleLoc = SourceLocation());

clang/lib/Lex/HeaderSearch.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,19 +1663,17 @@ bool HeaderSearch::findUsableModuleForFrameworkHeader(
16631663
return true;
16641664
}
16651665

1666-
static const FileEntry *getPrivateModuleMap(FileEntryRef File,
1667-
FileManager &FileMgr) {
1666+
static OptionalFileEntryRef getPrivateModuleMap(FileEntryRef File,
1667+
FileManager &FileMgr) {
16681668
StringRef Filename = llvm::sys::path::filename(File.getName());
16691669
SmallString<128> PrivateFilename(File.getDir().getName());
16701670
if (Filename == "module.map")
16711671
llvm::sys::path::append(PrivateFilename, "module_private.map");
16721672
else if (Filename == "module.modulemap")
16731673
llvm::sys::path::append(PrivateFilename, "module.private.modulemap");
16741674
else
1675-
return nullptr;
1676-
if (auto File = FileMgr.getFile(PrivateFilename))
1677-
return *File;
1678-
return nullptr;
1675+
return std::nullopt;
1676+
return FileMgr.getOptionalFileRef(PrivateFilename);
16791677
}
16801678

16811679
bool HeaderSearch::loadModuleMapFile(FileEntryRef File, bool IsSystem,
@@ -1741,8 +1739,8 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
17411739
}
17421740

17431741
// Try to load a corresponding private module map.
1744-
if (const FileEntry *PMMFile = getPrivateModuleMap(File, FileMgr)) {
1745-
if (ModMap.parseModuleMapFile(PMMFile, IsSystem, Dir)) {
1742+
if (OptionalFileEntryRef PMMFile = getPrivateModuleMap(File, FileMgr)) {
1743+
if (ModMap.parseModuleMapFile(*PMMFile, IsSystem, Dir)) {
17461744
LoadedModuleMaps[File] = false;
17471745
return LMM_InvalidModuleMap;
17481746
}

clang/lib/Lex/ModuleMap.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ namespace clang {
15191519
ModuleMap &Map;
15201520

15211521
/// The current module map file.
1522-
const FileEntry *ModuleMapFile;
1522+
FileEntryRef ModuleMapFile;
15231523

15241524
/// Source location of most recent parsed module declaration
15251525
SourceLocation CurrModuleDeclLoc;
@@ -1591,7 +1591,7 @@ namespace clang {
15911591
public:
15921592
explicit ModuleMapParser(Lexer &L, SourceManager &SourceMgr,
15931593
const TargetInfo *Target, DiagnosticsEngine &Diags,
1594-
ModuleMap &Map, const FileEntry *ModuleMapFile,
1594+
ModuleMap &Map, FileEntryRef ModuleMapFile,
15951595
DirectoryEntryRef Directory, bool IsSystem)
15961596
: L(L), SourceMgr(SourceMgr), Target(Target), Diags(Diags), Map(Map),
15971597
ModuleMapFile(ModuleMapFile), Directory(Directory),
@@ -2127,7 +2127,7 @@ void ModuleMapParser::parseModuleDecl() {
21272127
ActiveModule->NoUndeclaredIncludes = true;
21282128
ActiveModule->Directory = Directory;
21292129

2130-
StringRef MapFileName(ModuleMapFile->getName());
2130+
StringRef MapFileName(ModuleMapFile.getName());
21312131
if (MapFileName.endswith("module.private.modulemap") ||
21322132
MapFileName.endswith("module_private.map")) {
21332133
ActiveModule->ModuleMapIsPrivate = true;
@@ -3117,7 +3117,7 @@ bool ModuleMapParser::parseModuleMapFile() {
31173117
} while (true);
31183118
}
31193119

3120-
bool ModuleMap::parseModuleMapFile(const FileEntry *File, bool IsSystem,
3120+
bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
31213121
DirectoryEntryRef Dir, FileID ID,
31223122
unsigned *Offset,
31233123
SourceLocation ExternModuleLoc) {

0 commit comments

Comments
 (0)