summaryrefslogtreecommitdiffstats
path: root/clang/lib/Index/SimpleFormatContext.h
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-10-06 10:23:34 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-10-06 10:23:34 +0000
commitb93511a636491b58d477787c7fc65592ad773c3b (patch)
tree36904b93d57a3c455edcaa9c0573be6958c61748 /clang/lib/Index/SimpleFormatContext.h
parent9825b7a7c609d631b4b0b4e5249c1aeee950b490 (diff)
downloadbcm5719-llvm-b93511a636491b58d477787c7fc65592ad773c3b.tar.gz
bcm5719-llvm-b93511a636491b58d477787c7fc65592ad773c3b.zip
[VFS] Port SimpleFormatContext to InMemoryFileSystem.
llvm-svn: 249389
Diffstat (limited to 'clang/lib/Index/SimpleFormatContext.h')
-rw-r--r--clang/lib/Index/SimpleFormatContext.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Index/SimpleFormatContext.h b/clang/lib/Index/SimpleFormatContext.h
index b8842149895..2c26e4d82e0 100644
--- a/clang/lib/Index/SimpleFormatContext.h
+++ b/clang/lib/Index/SimpleFormatContext.h
@@ -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;
OpenPOWER on IntegriCloud