r249314 - [VFS] Move class out of method so it looks less like Java.
Benjamin Kramer via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 5 06:55:10 PDT 2015
Author: d0k
Date: Mon Oct 5 08:55:09 2015
New Revision: 249314
URL: http://llvm.org/viewvc/llvm-project?rev=249314&view=rev
Log:
[VFS] Move class out of method so it looks less like Java.
No functionality change.
Modified:
cfe/trunk/lib/Basic/VirtualFileSystem.cpp
Modified: cfe/trunk/lib/Basic/VirtualFileSystem.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/VirtualFileSystem.cpp?rev=249314&r1=249313&r2=249314&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/VirtualFileSystem.cpp (original)
+++ cfe/trunk/lib/Basic/VirtualFileSystem.cpp Mon Oct 5 08:55:09 2015
@@ -942,6 +942,33 @@ ErrorOr<Status> VFSFromYAML::status(cons
return status(Path, *Result);
}
+namespace {
+/// Provide a file wrapper that returns the external name when asked.
+class NamedFileAdaptor : public File {
+ std::unique_ptr<File> InnerFile;
+ std::string NewName;
+
+public:
+ NamedFileAdaptor(std::unique_ptr<File> InnerFile, std::string NewName)
+ : InnerFile(std::move(InnerFile)), NewName(std::move(NewName)) {}
+
+ llvm::ErrorOr<Status> status() override {
+ auto InnerStatus = InnerFile->status();
+ if (InnerStatus)
+ return Status::copyWithNewName(*InnerStatus, NewName);
+ return InnerStatus.getError();
+ }
+ llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
+ getBuffer(const Twine &Name, int64_t FileSize = -1,
+ bool RequiresNullTerminator = true,
+ bool IsVolatile = false) override {
+ return InnerFile->getBuffer(Name, FileSize, RequiresNullTerminator,
+ IsVolatile);
+ }
+ std::error_code close() override { return InnerFile->close(); }
+};
+} // end anonymous namespace
+
ErrorOr<std::unique_ptr<File>> VFSFromYAML::openFileForRead(const Twine &Path) {
ErrorOr<Entry *> E = lookupPath(Path);
if (!E)
@@ -955,34 +982,9 @@ ErrorOr<std::unique_ptr<File>> VFSFromYA
if (!Result)
return Result;
- if (!F->useExternalName(UseExternalNames)) {
- // Provide a file wrapper that returns the external name when asked.
- class NamedFileAdaptor : public File {
- std::unique_ptr<File> InnerFile;
- std::string NewName;
-
- public:
- NamedFileAdaptor(std::unique_ptr<File> InnerFile, std::string NewName)
- : InnerFile(std::move(InnerFile)), NewName(std::move(NewName)) {}
-
- llvm::ErrorOr<Status> status() override {
- auto InnerStatus = InnerFile->status();
- if (InnerStatus)
- return Status::copyWithNewName(*InnerStatus, NewName);
- return InnerStatus.getError();
- }
- llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
- getBuffer(const Twine &Name, int64_t FileSize = -1,
- bool RequiresNullTerminator = true,
- bool IsVolatile = false) override {
- return InnerFile->getBuffer(Name, FileSize, RequiresNullTerminator,
- IsVolatile);
- }
- std::error_code close() override { return InnerFile->close(); }
- };
+ if (!F->useExternalName(UseExternalNames))
return std::unique_ptr<File>(
new NamedFileAdaptor(std::move(*Result), Path.str()));
- }
return Result;
}
More information about the cfe-commits
mailing list