diff --git a/llvm/include/llvm/Support/VirtualFileSystem.h b/llvm/include/llvm/Support/VirtualFileSystem.h index 3cfb71aa497d7..182a5c1b3cdba 100644 --- a/llvm/include/llvm/Support/VirtualFileSystem.h +++ b/llvm/include/llvm/Support/VirtualFileSystem.h @@ -902,6 +902,10 @@ class RedirectingFileSystem : public vfs::FileSystem { StringRef getExternalContentsPrefixDir() const; + /// Sets the redirection kind to \c Fallthrough if true or \c RedirectOnly + /// otherwise. Will removed in the future, use \c setRedirection instead. + void setFallthrough(bool Fallthrough); + void setRedirection(RedirectingFileSystem::RedirectKind Kind); std::vector getRoots() const; diff --git a/llvm/lib/Support/VirtualFileSystem.cpp b/llvm/lib/Support/VirtualFileSystem.cpp index 8573c3a294e35..49151682624d8 100644 --- a/llvm/lib/Support/VirtualFileSystem.cpp +++ b/llvm/lib/Support/VirtualFileSystem.cpp @@ -1363,6 +1363,14 @@ StringRef RedirectingFileSystem::getExternalContentsPrefixDir() const { return ExternalContentsPrefixDir; } +void RedirectingFileSystem::setFallthrough(bool Fallthrough) { + if (Fallthrough) { + Redirection = RedirectingFileSystem::RedirectKind::Fallthrough; + } else { + Redirection = RedirectingFileSystem::RedirectKind::RedirectOnly; + } +} + void RedirectingFileSystem::setRedirection( RedirectingFileSystem::RedirectKind Kind) { Redirection = Kind;