jansvoboda11 created this revision. jansvoboda11 added reviewers: benlangmuir, bnbarham. Herald added subscribers: ributzka, kadircet, arphaman. Herald added a project: All. jansvoboda11 requested review of this revision. Herald added projects: clang, clang-tools-extra. Herald added a subscriber: cfe-commits.
This patch removes the last use of deprecated `DirectoryEntry::getName()`. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D151922 Files: clang-tools-extra/clang-move/Move.cpp clang-tools-extra/clangd/SourceCode.cpp clang/include/clang/Basic/FileManager.h clang/lib/Basic/FileManager.cpp clang/lib/Lex/ModuleMap.cpp Index: clang/lib/Lex/ModuleMap.cpp =================================================================== --- clang/lib/Lex/ModuleMap.cpp +++ clang/lib/Lex/ModuleMap.cpp @@ -1319,9 +1319,9 @@ } FileManager &FM = SourceMgr.getFileManager(); - auto DirEntry = FM.getDirectory(Dir.empty() ? "." : Dir); + auto DirEntry = FM.getDirectoryRef(Dir.empty() ? "." : Dir); if (!DirEntry) - return DirEntry.getError(); + return llvm::errorToErrorCode(DirEntry.takeError()); // Canonicalize the directory. StringRef CanonicalDir = FM.getCanonicalName(*DirEntry); Index: clang/lib/Basic/FileManager.cpp =================================================================== --- clang/lib/Basic/FileManager.cpp +++ clang/lib/Basic/FileManager.cpp @@ -631,16 +631,15 @@ UIDToFiles[VFE->getUID()] = VFE; } -StringRef FileManager::getCanonicalName(const DirectoryEntry *Dir) { - llvm::DenseMap<const void *, llvm::StringRef>::iterator Known - = CanonicalNames.find(Dir); +StringRef FileManager::getCanonicalName(DirectoryEntryRef Dir) { + auto Known = CanonicalNames.find(Dir); if (Known != CanonicalNames.end()) return Known->second; - StringRef CanonicalName(Dir->getName()); + StringRef CanonicalName(Dir.getName()); SmallString<4096> CanonicalNameBuf; - if (!FS->getRealPath(Dir->getName(), CanonicalNameBuf)) + if (!FS->getRealPath(Dir.getName(), CanonicalNameBuf)) CanonicalName = CanonicalNameBuf.str().copy(CanonicalNameStorage); CanonicalNames.insert({Dir, CanonicalName}); Index: clang/include/clang/Basic/FileManager.h =================================================================== --- clang/include/clang/Basic/FileManager.h +++ clang/include/clang/Basic/FileManager.h @@ -320,7 +320,7 @@ /// This is a very expensive operation, despite its results being cached, /// and should only be used when the physical layout of the file system is /// required, which is (almost) never. - StringRef getCanonicalName(const DirectoryEntry *Dir); + StringRef getCanonicalName(DirectoryEntryRef Dir); /// Retrieve the canonical name for a given file. /// Index: clang-tools-extra/clangd/SourceCode.cpp =================================================================== --- clang-tools-extra/clangd/SourceCode.cpp +++ clang-tools-extra/clangd/SourceCode.cpp @@ -537,7 +537,7 @@ // // The file path of Symbol is "/project/src/foo.h" instead of // "/tmp/build/foo.h" - if (auto Dir = SourceMgr.getFileManager().getDirectory( + if (auto Dir = SourceMgr.getFileManager().getOptionalDirectoryRef( llvm::sys::path::parent_path(FilePath))) { llvm::SmallString<128> RealPath; llvm::StringRef DirName = SourceMgr.getFileManager().getCanonicalName(*Dir); Index: clang-tools-extra/clang-move/Move.cpp =================================================================== --- clang-tools-extra/clang-move/Move.cpp +++ clang-tools-extra/clang-move/Move.cpp @@ -92,7 +92,7 @@ << '\n'; // Handle symbolic link path cases. // We are trying to get the real file path of the symlink. - auto Dir = SM.getFileManager().getDirectory( + auto Dir = SM.getFileManager().getOptionalDirectoryRef( llvm::sys::path::parent_path(AbsolutePath.str())); if (Dir) { StringRef DirName = SM.getFileManager().getCanonicalName(*Dir);
Index: clang/lib/Lex/ModuleMap.cpp =================================================================== --- clang/lib/Lex/ModuleMap.cpp +++ clang/lib/Lex/ModuleMap.cpp @@ -1319,9 +1319,9 @@ } FileManager &FM = SourceMgr.getFileManager(); - auto DirEntry = FM.getDirectory(Dir.empty() ? "." : Dir); + auto DirEntry = FM.getDirectoryRef(Dir.empty() ? "." : Dir); if (!DirEntry) - return DirEntry.getError(); + return llvm::errorToErrorCode(DirEntry.takeError()); // Canonicalize the directory. StringRef CanonicalDir = FM.getCanonicalName(*DirEntry); Index: clang/lib/Basic/FileManager.cpp =================================================================== --- clang/lib/Basic/FileManager.cpp +++ clang/lib/Basic/FileManager.cpp @@ -631,16 +631,15 @@ UIDToFiles[VFE->getUID()] = VFE; } -StringRef FileManager::getCanonicalName(const DirectoryEntry *Dir) { - llvm::DenseMap<const void *, llvm::StringRef>::iterator Known - = CanonicalNames.find(Dir); +StringRef FileManager::getCanonicalName(DirectoryEntryRef Dir) { + auto Known = CanonicalNames.find(Dir); if (Known != CanonicalNames.end()) return Known->second; - StringRef CanonicalName(Dir->getName()); + StringRef CanonicalName(Dir.getName()); SmallString<4096> CanonicalNameBuf; - if (!FS->getRealPath(Dir->getName(), CanonicalNameBuf)) + if (!FS->getRealPath(Dir.getName(), CanonicalNameBuf)) CanonicalName = CanonicalNameBuf.str().copy(CanonicalNameStorage); CanonicalNames.insert({Dir, CanonicalName}); Index: clang/include/clang/Basic/FileManager.h =================================================================== --- clang/include/clang/Basic/FileManager.h +++ clang/include/clang/Basic/FileManager.h @@ -320,7 +320,7 @@ /// This is a very expensive operation, despite its results being cached, /// and should only be used when the physical layout of the file system is /// required, which is (almost) never. - StringRef getCanonicalName(const DirectoryEntry *Dir); + StringRef getCanonicalName(DirectoryEntryRef Dir); /// Retrieve the canonical name for a given file. /// Index: clang-tools-extra/clangd/SourceCode.cpp =================================================================== --- clang-tools-extra/clangd/SourceCode.cpp +++ clang-tools-extra/clangd/SourceCode.cpp @@ -537,7 +537,7 @@ // // The file path of Symbol is "/project/src/foo.h" instead of // "/tmp/build/foo.h" - if (auto Dir = SourceMgr.getFileManager().getDirectory( + if (auto Dir = SourceMgr.getFileManager().getOptionalDirectoryRef( llvm::sys::path::parent_path(FilePath))) { llvm::SmallString<128> RealPath; llvm::StringRef DirName = SourceMgr.getFileManager().getCanonicalName(*Dir); Index: clang-tools-extra/clang-move/Move.cpp =================================================================== --- clang-tools-extra/clang-move/Move.cpp +++ clang-tools-extra/clang-move/Move.cpp @@ -92,7 +92,7 @@ << '\n'; // Handle symbolic link path cases. // We are trying to get the real file path of the symlink. - auto Dir = SM.getFileManager().getDirectory( + auto Dir = SM.getFileManager().getOptionalDirectoryRef( llvm::sys::path::parent_path(AbsolutePath.str())); if (Dir) { StringRef DirName = SM.getFileManager().getCanonicalName(*Dir);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits