Skip to content

Commit 2da8f30

Browse files
committed
[clang] NFCI: Use FileEntryRef in SourceManager::overrideFileContents()
1 parent 1610311 commit 2da8f30

File tree

8 files changed

+33
-44
lines changed

8 files changed

+33
-44
lines changed

clang/include/clang/Basic/SourceManager.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
960960
///
961961
/// \param Buffer the memory buffer whose contents will be used as the
962962
/// data in the given source file.
963-
void overrideFileContents(const FileEntry *SourceFile,
963+
void overrideFileContents(FileEntryRef SourceFile,
964964
const llvm::MemoryBufferRef &Buffer) {
965965
overrideFileContents(SourceFile, llvm::MemoryBuffer::getMemBuffer(Buffer));
966966
}
@@ -972,12 +972,8 @@ class SourceManager : public RefCountedBase<SourceManager> {
972972
///
973973
/// \param Buffer the memory buffer whose contents will be used as the
974974
/// data in the given source file.
975-
void overrideFileContents(const FileEntry *SourceFile,
976-
std::unique_ptr<llvm::MemoryBuffer> Buffer);
977975
void overrideFileContents(FileEntryRef SourceFile,
978-
std::unique_ptr<llvm::MemoryBuffer> Buffer) {
979-
overrideFileContents(&SourceFile.getFileEntry(), std::move(Buffer));
980-
}
976+
std::unique_ptr<llvm::MemoryBuffer> Buffer);
981977

982978
/// Override the given source file with another one.
983979
///

clang/include/clang/Lex/Preprocessor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1935,8 +1935,8 @@ class Preprocessor {
19351935
/// (1-based).
19361936
///
19371937
/// \returns true if an error occurred, false otherwise.
1938-
bool SetCodeCompletionPoint(const FileEntry *File,
1939-
unsigned Line, unsigned Column);
1938+
bool SetCodeCompletionPoint(FileEntryRef File, unsigned Line,
1939+
unsigned Column);
19401940

19411941
/// Determine if we are performing code completion.
19421942
bool isCodeCompletionEnabled() const { return CodeCompletionFile != nullptr; }

clang/lib/Basic/SourceManager.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -687,8 +687,8 @@ SourceManager::getMemoryBufferForFileOrNone(const FileEntry *File) {
687687
}
688688

689689
void SourceManager::overrideFileContents(
690-
const FileEntry *SourceFile, std::unique_ptr<llvm::MemoryBuffer> Buffer) {
691-
SrcMgr::ContentCache &IR = getOrCreateContentCache(SourceFile->getLastRef());
690+
FileEntryRef SourceFile, std::unique_ptr<llvm::MemoryBuffer> Buffer) {
691+
SrcMgr::ContentCache &IR = getOrCreateContentCache(SourceFile);
692692

693693
IR.setBuffer(std::move(Buffer));
694694
IR.BufferOverridden = true;

clang/lib/Frontend/CompilerInstance.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -400,14 +400,8 @@ static void InitializeFileRemapping(DiagnosticsEngine &Diags,
400400
// Remap files in the source manager (with buffers).
401401
for (const auto &RB : InitOpts.RemappedFileBuffers) {
402402
// Create the file entry for the file that we're mapping from.
403-
const FileEntry *FromFile =
404-
FileMgr.getVirtualFile(RB.first, RB.second->getBufferSize(), 0);
405-
if (!FromFile) {
406-
Diags.Report(diag::err_fe_remap_missing_from_file) << RB.first;
407-
if (!InitOpts.RetainRemappedFileBuffers)
408-
delete RB.second;
409-
continue;
410-
}
403+
FileEntryRef FromFile =
404+
FileMgr.getVirtualFileRef(RB.first, RB.second->getBufferSize(), 0);
411405

412406
// Override the contents of the "from" file with the contents of the
413407
// "to" file. If the caller owns the buffers, then pass a MemoryBufferRef;
@@ -701,7 +695,7 @@ static bool EnableCodeCompletion(Preprocessor &PP,
701695
unsigned Column) {
702696
// Tell the source manager to chop off the given file at a specific
703697
// line and column.
704-
auto Entry = PP.getFileManager().getFile(Filename);
698+
auto Entry = PP.getFileManager().getOptionalFileRef(Filename);
705699
if (!Entry) {
706700
PP.getDiagnostics().Report(diag::err_fe_invalid_code_complete_file)
707701
<< Filename;
@@ -1357,7 +1351,7 @@ static bool compileModule(CompilerInstance &ImportingInstance,
13571351
[&](CompilerInstance &Instance) {
13581352
std::unique_ptr<llvm::MemoryBuffer> ModuleMapBuffer =
13591353
llvm::MemoryBuffer::getMemBuffer(InferredModuleMapContent);
1360-
const FileEntry *ModuleMapFile = Instance.getFileManager().getVirtualFile(
1354+
FileEntryRef ModuleMapFile = Instance.getFileManager().getVirtualFileRef(
13611355
FakeModuleMapFile, InferredModuleMapContent.size(), 0);
13621356
Instance.getSourceManager().overrideFileContents(
13631357
ModuleMapFile, std::move(ModuleMapBuffer));
@@ -2182,7 +2176,7 @@ void CompilerInstance::createModuleFromSource(SourceLocation ImportLoc,
21822176
auto PreBuildStep = [&](CompilerInstance &Other) {
21832177
// Create a virtual file containing our desired source.
21842178
// FIXME: We shouldn't need to do this.
2185-
const FileEntry *ModuleMapFile = Other.getFileManager().getVirtualFile(
2179+
FileEntryRef ModuleMapFile = Other.getFileManager().getVirtualFileRef(
21862180
ModuleMapFileName, NullTerminatedSource.size(), 0);
21872181
Other.getSourceManager().overrideFileContents(
21882182
ModuleMapFile, llvm::MemoryBuffer::getMemBuffer(NullTerminatedSource));

clang/lib/Lex/Preprocessor.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,9 @@ void Preprocessor::recomputeCurLexerKind() {
391391
CurLexerKind = CLK_CachingLexer;
392392
}
393393

394-
bool Preprocessor::SetCodeCompletionPoint(const FileEntry *File,
394+
bool Preprocessor::SetCodeCompletionPoint(FileEntryRef File,
395395
unsigned CompleteLine,
396396
unsigned CompleteColumn) {
397-
assert(File);
398397
assert(CompleteLine && CompleteColumn && "Starts from 1:1");
399398
assert(!CodeCompletionFile && "Already set");
400399

clang/unittests/AST/ASTImporterTest.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7256,14 +7256,14 @@ TEST_P(ImportSourceLocations, OverwrittenFileBuffer) {
72567256
{
72577257
SourceManager &FromSM = FromTU->getASTContext().getSourceManager();
72587258
clang::FileManager &FM = FromSM.getFileManager();
7259-
const clang::FileEntry &FE =
7260-
*FM.getVirtualFile(Path, static_cast<off_t>(Contents.size()), 0);
7259+
clang::FileEntryRef FE =
7260+
FM.getVirtualFileRef(Path, static_cast<off_t>(Contents.size()), 0);
72617261

72627262
llvm::SmallVector<char, 64> Buffer;
72637263
Buffer.append(Contents.begin(), Contents.end());
72647264
auto FileContents = std::make_unique<llvm::SmallVectorMemoryBuffer>(
72657265
std::move(Buffer), Path, /*RequiresNullTerminator=*/false);
7266-
FromSM.overrideFileContents(&FE, std::move(FileContents));
7266+
FromSM.overrideFileContents(FE, std::move(FileContents));
72677267

72687268
// Import the VarDecl to trigger the importing of the FileID.
72697269
auto Pattern = varDecl(hasName("X"));

clang/unittests/Basic/SarifTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ class SarifDocumentWriterTest : public ::testing::Test {
6060
bool IsMainFile = false) {
6161
std::unique_ptr<llvm::MemoryBuffer> SourceBuf =
6262
llvm::MemoryBuffer::getMemBuffer(SourceText);
63-
const FileEntry *SourceFile =
64-
FileMgr.getVirtualFile(Name, SourceBuf->getBufferSize(), 0);
63+
FileEntryRef SourceFile =
64+
FileMgr.getVirtualFileRef(Name, SourceBuf->getBufferSize(), 0);
6565
SourceMgr.overrideFileContents(SourceFile, std::move(SourceBuf));
6666
FileID FID = SourceMgr.getOrCreateFileID(SourceFile, SrcMgr::C_User);
6767
if (IsMainFile)

clang/unittests/Basic/SourceManagerTest.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ TEST_F(SourceManagerTest, isInMemoryBuffersNoSourceLocationInfo) {
6969

7070
std::unique_ptr<llvm::MemoryBuffer> BuiltInBuf =
7171
llvm::MemoryBuffer::getMemBuffer(Source);
72-
const FileEntry *BuiltInFile =
73-
FileMgr.getVirtualFile("<built-in>", BuiltInBuf->getBufferSize(), 0);
72+
FileEntryRef BuiltInFile =
73+
FileMgr.getVirtualFileRef("<built-in>", BuiltInBuf->getBufferSize(), 0);
7474
SourceMgr.overrideFileContents(BuiltInFile, std::move(BuiltInBuf));
7575
FileID BuiltInFileID =
7676
SourceMgr.getOrCreateFileID(BuiltInFile, SrcMgr::C_User);
@@ -82,7 +82,7 @@ TEST_F(SourceManagerTest, isInMemoryBuffersNoSourceLocationInfo) {
8282

8383
std::unique_ptr<llvm::MemoryBuffer> CommandLineBuf =
8484
llvm::MemoryBuffer::getMemBuffer(Source);
85-
const FileEntry *CommandLineFile = FileMgr.getVirtualFile(
85+
FileEntryRef CommandLineFile = FileMgr.getVirtualFileRef(
8686
"<command line>", CommandLineBuf->getBufferSize(), 0);
8787
SourceMgr.overrideFileContents(CommandLineFile, std::move(CommandLineBuf));
8888
FileID CommandLineFileID =
@@ -95,7 +95,7 @@ TEST_F(SourceManagerTest, isInMemoryBuffersNoSourceLocationInfo) {
9595

9696
std::unique_ptr<llvm::MemoryBuffer> ScratchSpaceBuf =
9797
llvm::MemoryBuffer::getMemBuffer(Source);
98-
const FileEntry *ScratchSpaceFile = FileMgr.getVirtualFile(
98+
FileEntryRef ScratchSpaceFile = FileMgr.getVirtualFileRef(
9999
"<scratch space>", ScratchSpaceBuf->getBufferSize(), 0);
100100
SourceMgr.overrideFileContents(ScratchSpaceFile, std::move(ScratchSpaceBuf));
101101
FileID ScratchSpaceFileID =
@@ -311,12 +311,12 @@ TEST_F(SourceManagerTest, locationPrintTest) {
311311
std::unique_ptr<llvm::MemoryBuffer> Buf =
312312
llvm::MemoryBuffer::getMemBuffer(Source);
313313

314-
const FileEntry *SourceFile =
315-
FileMgr.getVirtualFile("/mainFile.cpp", Buf->getBufferSize(), 0);
314+
FileEntryRef SourceFile =
315+
FileMgr.getVirtualFileRef("/mainFile.cpp", Buf->getBufferSize(), 0);
316316
SourceMgr.overrideFileContents(SourceFile, std::move(Buf));
317317

318-
const FileEntry *HeaderFile =
319-
FileMgr.getVirtualFile("/test-header.h", HeaderBuf->getBufferSize(), 0);
318+
FileEntryRef HeaderFile = FileMgr.getVirtualFileRef(
319+
"/test-header.h", HeaderBuf->getBufferSize(), 0);
320320
SourceMgr.overrideFileContents(HeaderFile, std::move(HeaderBuf));
321321

322322
FileID MainFileID = SourceMgr.getOrCreateFileID(SourceFile, SrcMgr::C_User);
@@ -431,8 +431,8 @@ TEST_F(SourceManagerTest, getMacroArgExpandedLocation) {
431431
FileID mainFileID = SourceMgr.createFileID(std::move(MainBuf));
432432
SourceMgr.setMainFileID(mainFileID);
433433

434-
const FileEntry *headerFile = FileMgr.getVirtualFile("/test-header.h",
435-
HeaderBuf->getBufferSize(), 0);
434+
FileEntryRef headerFile = FileMgr.getVirtualFileRef(
435+
"/test-header.h", HeaderBuf->getBufferSize(), 0);
436436
SourceMgr.overrideFileContents(headerFile, std::move(HeaderBuf));
437437

438438
TrivialModuleLoader ModLoader;
@@ -555,8 +555,8 @@ TEST_F(SourceManagerTest, isBeforeInTranslationUnitWithMacroInInclude) {
555555
llvm::MemoryBuffer::getMemBuffer(main);
556556
SourceMgr.setMainFileID(SourceMgr.createFileID(std::move(MainBuf)));
557557

558-
const FileEntry *headerFile = FileMgr.getVirtualFile("/test-header.h",
559-
HeaderBuf->getBufferSize(), 0);
558+
FileEntryRef headerFile = FileMgr.getVirtualFileRef(
559+
"/test-header.h", HeaderBuf->getBufferSize(), 0);
560560
SourceMgr.overrideFileContents(headerFile, std::move(HeaderBuf));
561561

562562
TrivialModuleLoader ModLoader;
@@ -640,14 +640,14 @@ TEST_F(SourceManagerTest, isMainFile) {
640640

641641
std::unique_ptr<llvm::MemoryBuffer> Buf =
642642
llvm::MemoryBuffer::getMemBuffer(Source);
643-
const FileEntry *SourceFile =
644-
FileMgr.getVirtualFile("mainFile.cpp", Buf->getBufferSize(), 0);
643+
FileEntryRef SourceFile =
644+
FileMgr.getVirtualFileRef("mainFile.cpp", Buf->getBufferSize(), 0);
645645
SourceMgr.overrideFileContents(SourceFile, std::move(Buf));
646646

647647
std::unique_ptr<llvm::MemoryBuffer> Buf2 =
648648
llvm::MemoryBuffer::getMemBuffer(Source);
649-
const FileEntry *SecondFile =
650-
FileMgr.getVirtualFile("file2.cpp", Buf2->getBufferSize(), 0);
649+
FileEntryRef SecondFile =
650+
FileMgr.getVirtualFileRef("file2.cpp", Buf2->getBufferSize(), 0);
651651
SourceMgr.overrideFileContents(SecondFile, std::move(Buf2));
652652

653653
FileID MainFileID = SourceMgr.getOrCreateFileID(SourceFile, SrcMgr::C_User);

0 commit comments

Comments
 (0)