Revert "[VFS] Add "expand tilde" argument to getRealPath."
This reverts commit r346453. This is a complex change to a widely-used interface, and was not reviewed. llvm-svn: 346500
This commit is contained in:
parent
2804f32ec4
commit
99538e89a9
|
@ -274,8 +274,7 @@ public:
|
|||
/// symlinks. For real file system, this uses `llvm::sys::fs::real_path`.
|
||||
/// This returns errc::operation_not_permitted if not implemented by subclass.
|
||||
virtual std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde = false) const;
|
||||
SmallVectorImpl<char> &Output) const;
|
||||
|
||||
/// Check whether a file exists. Provided for convenience.
|
||||
bool exists(const Twine &Path);
|
||||
|
@ -331,8 +330,8 @@ public:
|
|||
llvm::ErrorOr<std::string> getCurrentWorkingDirectory() const override;
|
||||
std::error_code setCurrentWorkingDirectory(const Twine &Path) override;
|
||||
std::error_code isLocal(const Twine &Path, bool &Result) override;
|
||||
std::error_code getRealPath(const Twine &Path, SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde = false) const override;
|
||||
std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const override;
|
||||
|
||||
using iterator = FileSystemList::reverse_iterator;
|
||||
using const_iterator = FileSystemList::const_reverse_iterator;
|
||||
|
@ -371,9 +370,9 @@ public:
|
|||
std::error_code setCurrentWorkingDirectory(const Twine &Path) override {
|
||||
return FS->setCurrentWorkingDirectory(Path);
|
||||
}
|
||||
std::error_code getRealPath(const Twine &Path, SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde = false) const override {
|
||||
return FS->getRealPath(Path, Output, ExpandTilde);
|
||||
std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const override {
|
||||
return FS->getRealPath(Path, Output);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -466,8 +465,8 @@ public:
|
|||
///
|
||||
/// This doesn't resolve symlinks as they are not supported in in-memory file
|
||||
/// system.
|
||||
std::error_code getRealPath(const Twine &Path, SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde = false) const override;
|
||||
std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const override;
|
||||
std::error_code isLocal(const Twine &Path, bool &Result) override;
|
||||
std::error_code setCurrentWorkingDirectory(const Twine &Path) override;
|
||||
};
|
||||
|
|
|
@ -132,8 +132,7 @@ std::error_code FileSystem::makeAbsolute(SmallVectorImpl<char> &Path) const {
|
|||
}
|
||||
|
||||
std::error_code FileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde) const {
|
||||
SmallVectorImpl<char> &Output) const {
|
||||
return errc::operation_not_permitted;
|
||||
}
|
||||
|
||||
|
@ -239,8 +238,8 @@ public:
|
|||
llvm::ErrorOr<std::string> getCurrentWorkingDirectory() const override;
|
||||
std::error_code setCurrentWorkingDirectory(const Twine &Path) override;
|
||||
std::error_code isLocal(const Twine &Path, bool &Result) override;
|
||||
std::error_code getRealPath(const Twine &Path, SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde = false) const override;
|
||||
std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const override;
|
||||
|
||||
private:
|
||||
mutable std::mutex CWDMutex;
|
||||
|
@ -298,9 +297,9 @@ std::error_code RealFileSystem::isLocal(const Twine &Path, bool &Result) {
|
|||
return llvm::sys::fs::is_local(Path, Result);
|
||||
}
|
||||
|
||||
std::error_code RealFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde) const {
|
||||
std::error_code
|
||||
RealFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const {
|
||||
return llvm::sys::fs::real_path(Path, Output);
|
||||
}
|
||||
|
||||
|
@ -394,12 +393,12 @@ std::error_code OverlayFileSystem::isLocal(const Twine &Path, bool &Result) {
|
|||
return errc::no_such_file_or_directory;
|
||||
}
|
||||
|
||||
std::error_code OverlayFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde) const {
|
||||
std::error_code
|
||||
OverlayFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const {
|
||||
for (auto &FS : FSList)
|
||||
if (FS->exists(Path))
|
||||
return FS->getRealPath(Path, Output, ExpandTilde);
|
||||
return FS->getRealPath(Path, Output);
|
||||
return errc::no_such_file_or_directory;
|
||||
}
|
||||
|
||||
|
@ -917,9 +916,9 @@ std::error_code InMemoryFileSystem::setCurrentWorkingDirectory(const Twine &P) {
|
|||
return {};
|
||||
}
|
||||
|
||||
std::error_code InMemoryFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde) const {
|
||||
std::error_code
|
||||
InMemoryFileSystem::getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const {
|
||||
auto CWD = getCurrentWorkingDirectory();
|
||||
if (!CWD || CWD->empty())
|
||||
return errc::operation_not_permitted;
|
||||
|
|
|
@ -73,8 +73,8 @@ public:
|
|||
return std::error_code();
|
||||
}
|
||||
// Map any symlink to "/symlink".
|
||||
std::error_code getRealPath(const Twine &Path, SmallVectorImpl<char> &Output,
|
||||
bool ExpandTilde) const override {
|
||||
std::error_code getRealPath(const Twine &Path,
|
||||
SmallVectorImpl<char> &Output) const override {
|
||||
auto I = FilesAndDirs.find(Path.str());
|
||||
if (I == FilesAndDirs.end())
|
||||
return make_error_code(llvm::errc::no_such_file_or_directory);
|
||||
|
|
Loading…
Reference in New Issue