@@ -217,9 +217,11 @@ class MinimizedVFSFile final : public llvm::vfs::File {
217
217
llvm::vfs::Status Stat)
218
218
: Buffer(std::move(Buffer)), Stat(std::move(Stat)) {}
219
219
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);
221
223
222
- const llvm::MemoryBuffer * getBufferPtr () const { return Buffer. get () ; }
224
+ llvm::ErrorOr<llvm::vfs::Status> status () override { return Stat ; }
223
225
224
226
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
225
227
getBuffer (const Twine &Name, int64_t FileSize, bool RequiresNullTerminator,
@@ -234,9 +236,11 @@ class MinimizedVFSFile final : public llvm::vfs::File {
234
236
llvm::vfs::Status Stat;
235
237
};
236
238
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) {
240
244
if (Entry->isDirectory ())
241
245
return llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>(
242
246
std::make_error_code (std::errc::is_a_directory));
@@ -248,14 +252,12 @@ createFile(const CachedFileSystemEntry *Entry,
248
252
/* RequiresNullTerminator=*/ false ),
249
253
*Entry->getStatus ());
250
254
if (!Entry->getPPSkippedRangeMapping ().empty () && PPSkipMappings)
251
- (*PPSkipMappings)[Result->getBufferPtr ()] =
255
+ (*PPSkipMappings)[Result->Buffer . get ()] =
252
256
&Entry->getPPSkippedRangeMapping ();
253
257
return llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>(
254
258
std::unique_ptr<llvm::vfs::File>(std::move (Result)));
255
259
}
256
260
257
- } // end anonymous namespace
258
-
259
261
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
260
262
DependencyScanningWorkerFilesystem::openFileForRead (const Twine &Path) {
261
263
SmallString<256 > OwnedFilename;
@@ -265,5 +267,5 @@ DependencyScanningWorkerFilesystem::openFileForRead(const Twine &Path) {
265
267
getOrCreateFileSystemEntry (Filename);
266
268
if (!Result)
267
269
return Result.getError ();
268
- return createFile (Result.get (), PPSkipMappings);
270
+ return MinimizedVFSFile::create (Result.get (), PPSkipMappings);
269
271
}
0 commit comments