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; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits