================ @@ -271,15 +271,24 @@ class FileSystem : public llvm::ThreadSafeRefCountedBase<FileSystem>, /// Get the status of the entry at \p Path, if one exists. virtual llvm::ErrorOr<Status> status(const Twine &Path) = 0; - /// Get a \p File object for the file at \p Path, if one exists. + /// Get a \p File object for the text file at \p Path, if one exists. virtual llvm::ErrorOr<std::unique_ptr<File>> openFileForRead(const Twine &Path) = 0; + /// Get a \p File objct for the binary file at \p Path, if one exists. + /// This function should be called instead of openFileForRead if the file + /// should be opened as a binary file. + virtual llvm::ErrorOr<std::unique_ptr<File>> + openFileForReadBinary(const Twine &Path) { + return openFileForRead(Path); + } + /// This is a convenience method that opens a file, gets its content and then /// closes the file. llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> getBufferForFile(const Twine &Name, int64_t FileSize = -1, - bool RequiresNullTerminator = true, bool IsVolatile = false); + bool RequiresNullTerminator = true, bool IsVolatile = false, + bool IsText = true); ---------------- kadircet wrote:
can you also add some comments about what `IsText` parameter does? https://github.com/llvm/llvm-project/pull/111723 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits