From f43ce5199df328c0acd3bc1d56d481b22d681ca8 Mon Sep 17 00:00:00 2001 From: Jan Svoboda Date: Wed, 20 Apr 2022 18:55:58 +0200 Subject: [PATCH] [clang][lex] NFCI: Use DirectoryEntryRef in FrameworkCacheEntry This patch changes the member of `FrameworkCacheEntry` from `const DirectoryEntry *` to `Optional` in order to remove uses of the deprecated `DirectoryEntry::getName()`. Reviewed By: bnbarham Differential Revision: https://reviews.llvm.org/D123854 --- clang/include/clang/Lex/HeaderSearch.h | 2 +- clang/lib/Lex/HeaderSearch.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/clang/include/clang/Lex/HeaderSearch.h b/clang/include/clang/Lex/HeaderSearch.h index ce96575a3829..2f2225e93397 100644 --- a/clang/include/clang/Lex/HeaderSearch.h +++ b/clang/include/clang/Lex/HeaderSearch.h @@ -155,7 +155,7 @@ public: /// This structure is used to record entries in our framework cache. struct FrameworkCacheEntry { /// The directory entry which should be used for the cached framework. - const DirectoryEntry *Directory; + Optional Directory; /// Whether this framework has been "user-specified" to be treated as if it /// were a system framework (even if it was found outside a system framework diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp index bc5dfae6e10a..d53a3601ba7a 100644 --- a/clang/lib/Lex/HeaderSearch.cpp +++ b/clang/lib/Lex/HeaderSearch.cpp @@ -582,7 +582,7 @@ Optional DirectoryLookup::DoFrameworkLookup( HS.LookupFrameworkCache(Filename.substr(0, SlashPos)); // If it is known and in some other directory, fail. - if (CacheEntry.Directory && CacheEntry.Directory != getFrameworkDir()) + if (CacheEntry.Directory && CacheEntry.Directory != getFrameworkDirRef()) return None; // Otherwise, construct the path to this framework dir. @@ -611,7 +611,7 @@ Optional DirectoryLookup::DoFrameworkLookup( // Otherwise, if it does, remember that this is the right direntry for this // framework. - CacheEntry.Directory = getFrameworkDir(); + CacheEntry.Directory = getFrameworkDirRef(); // If this is a user search directory, check if the framework has been // user-specified as a system framework. @@ -626,7 +626,7 @@ Optional DirectoryLookup::DoFrameworkLookup( // Set out flags. InUserSpecifiedSystemFramework = CacheEntry.IsUserSpecifiedSystemFramework; - IsFrameworkFound = CacheEntry.Directory; + IsFrameworkFound = CacheEntry.Directory.hasValue(); if (RelativePath) { RelativePath->clear(); @@ -1184,13 +1184,13 @@ Optional HeaderSearch::LookupSubframeworkHeader( ++NumSubFrameworkLookups; // If the framework dir doesn't exist, we fail. - auto Dir = FileMgr.getDirectory(FrameworkName); + auto Dir = FileMgr.getOptionalDirectoryRef(FrameworkName); if (!Dir) return None; // Otherwise, if it does, remember that this is the right direntry for this // framework. - CacheLookup.second.Directory = *Dir; + CacheLookup.second.Directory = Dir; }