r249389 - [VFS] Port SimpleFormatContext to InMemoryFileSystem.
Benjamin Kramer via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 6 03:23:48 PDT 2015
Author: d0k
Date: Tue Oct 6 05:23:34 2015
New Revision: 249389
URL: http://llvm.org/viewvc/llvm-project?rev=249389&view=rev
Log:
[VFS] Port SimpleFormatContext to InMemoryFileSystem.
Modified:
cfe/trunk/lib/Index/SimpleFormatContext.h
Modified: cfe/trunk/lib/Index/SimpleFormatContext.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/SimpleFormatContext.h?rev=249389&r1=249388&r2=249389&view=diff
==============================================================================
--- cfe/trunk/lib/Index/SimpleFormatContext.h (original)
+++ cfe/trunk/lib/Index/SimpleFormatContext.h Tue Oct 6 05:23:34 2015
@@ -38,18 +38,17 @@ public:
: DiagOpts(new DiagnosticOptions()),
Diagnostics(new DiagnosticsEngine(new DiagnosticIDs,
DiagOpts.get())),
- Files((FileSystemOptions())),
+ InMemoryFileSystem(new vfs::InMemoryFileSystem),
+ Files(FileSystemOptions(), InMemoryFileSystem),
Sources(*Diagnostics, Files),
Rewrite(Sources, Options) {
Diagnostics->setClient(new IgnoringDiagConsumer, true);
}
FileID createInMemoryFile(StringRef Name, StringRef Content) {
- std::unique_ptr<llvm::MemoryBuffer> Source =
- llvm::MemoryBuffer::getMemBuffer(Content);
- const FileEntry *Entry =
- Files.getVirtualFile(Name, Source->getBufferSize(), 0);
- Sources.overrideFileContents(Entry, std::move(Source));
+ InMemoryFileSystem->addFile(Name, 0,
+ llvm::MemoryBuffer::getMemBuffer(Content));
+ const FileEntry *Entry = Files.getFile(Name);
assert(Entry != nullptr);
return Sources.createFileID(Entry, SourceLocation(), SrcMgr::C_User);
}
@@ -64,6 +63,7 @@ public:
IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diagnostics;
+ IntrusiveRefCntPtr<vfs::InMemoryFileSystem> InMemoryFileSystem;
FileManager Files;
SourceManager Sources;
Rewriter Rewrite;
More information about the cfe-commits
mailing list