Skip to content

Commit d07b290

Browse files
committed
DependencyScanning: pull factory function into MinimizedVFS, NFC
Avoid need for getBufferPtr API, simplifying another patch. No functionality change.
1 parent 350fafa commit d07b290

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,11 @@ class MinimizedVFSFile final : public llvm::vfs::File {
217217
llvm::vfs::Status Stat)
218218
: Buffer(std::move(Buffer)), Stat(std::move(Stat)) {}
219219

220-
llvm::ErrorOr<llvm::vfs::Status> status() override { return Stat; }
220+
static llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
221+
create(const CachedFileSystemEntry *Entry,
222+
ExcludedPreprocessorDirectiveSkipMapping *PPSkipMappings);
221223

222-
const llvm::MemoryBuffer *getBufferPtr() const { return Buffer.get(); }
224+
llvm::ErrorOr<llvm::vfs::Status> status() override { return Stat; }
223225

224226
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
225227
getBuffer(const Twine &Name, int64_t FileSize, bool RequiresNullTerminator,
@@ -234,9 +236,11 @@ class MinimizedVFSFile final : public llvm::vfs::File {
234236
llvm::vfs::Status Stat;
235237
};
236238

237-
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
238-
createFile(const CachedFileSystemEntry *Entry,
239-
ExcludedPreprocessorDirectiveSkipMapping *PPSkipMappings) {
239+
} // end anonymous namespace
240+
241+
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>> MinimizedVFSFile::create(
242+
const CachedFileSystemEntry *Entry,
243+
ExcludedPreprocessorDirectiveSkipMapping *PPSkipMappings) {
240244
if (Entry->isDirectory())
241245
return llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>(
242246
std::make_error_code(std::errc::is_a_directory));
@@ -248,14 +252,12 @@ createFile(const CachedFileSystemEntry *Entry,
248252
/*RequiresNullTerminator=*/false),
249253
*Entry->getStatus());
250254
if (!Entry->getPPSkippedRangeMapping().empty() && PPSkipMappings)
251-
(*PPSkipMappings)[Result->getBufferPtr()] =
255+
(*PPSkipMappings)[Result->Buffer.get()] =
252256
&Entry->getPPSkippedRangeMapping();
253257
return llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>(
254258
std::unique_ptr<llvm::vfs::File>(std::move(Result)));
255259
}
256260

257-
} // end anonymous namespace
258-
259261
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
260262
DependencyScanningWorkerFilesystem::openFileForRead(const Twine &Path) {
261263
SmallString<256> OwnedFilename;
@@ -265,5 +267,5 @@ DependencyScanningWorkerFilesystem::openFileForRead(const Twine &Path) {
265267
getOrCreateFileSystemEntry(Filename);
266268
if (!Result)
267269
return Result.getError();
268-
return createFile(Result.get(), PPSkipMappings);
270+
return MinimizedVFSFile::create(Result.get(), PPSkipMappings);
269271
}

0 commit comments

Comments
 (0)