@@ -63,7 +63,7 @@ llvm::StringRef basename(llvm::StringRef Header) {
6363bool nameMatch (llvm::StringRef DeclName, Header H) {
6464 switch (H.kind ()) {
6565 case Header::Physical:
66- return basename (H.physical ()-> getName ()).equals_insensitive (DeclName);
66+ return basename (H.physical (). getName ()).equals_insensitive (DeclName);
6767 case Header::Standard:
6868 return basename (H.standard ().name ()).equals_insensitive (DeclName);
6969 case Header::Verbatim:
@@ -101,7 +101,7 @@ hintedHeadersForStdHeaders(llvm::ArrayRef<tooling::stdlib::Header> Headers,
101101 Results.emplace_back (H, Hints::PublicHeader | Hints::OriginHeader);
102102 if (!PI)
103103 continue ;
104- for (const auto * Export : PI->getExporters (H, SM.getFileManager ()))
104+ for (FileEntryRef Export : PI->getExporters (H, SM.getFileManager ()))
105105 Results.emplace_back (Header (Export), isPublicHeader (Export, *PI));
106106 }
107107 // StandardLibrary returns headers in preference order, so only mark the
@@ -186,31 +186,31 @@ llvm::SmallVector<Hinted<Header>> findHeaders(const SymbolLocation &Loc,
186186 switch (Loc.kind ()) {
187187 case SymbolLocation::Physical: {
188188 FileID FID = SM.getFileID (SM.getExpansionLoc (Loc.physical ()));
189- const FileEntry * FE = SM.getFileEntryForID (FID);
189+ OptionalFileEntryRef FE = SM.getFileEntryRefForID (FID);
190190 if (!FE)
191191 return {};
192192 if (!PI)
193- return {{FE, Hints::PublicHeader | Hints::OriginHeader}};
193+ return {{* FE, Hints::PublicHeader | Hints::OriginHeader}};
194194 bool IsOrigin = true ;
195- std::queue<const FileEntry * > Exporters;
195+ std::queue<FileEntryRef > Exporters;
196196 while (FE) {
197- Results.emplace_back (FE,
198- isPublicHeader (FE, *PI) |
197+ Results.emplace_back (* FE,
198+ isPublicHeader (* FE, *PI) |
199199 (IsOrigin ? Hints::OriginHeader : Hints::None));
200- for (const auto * Export : PI->getExporters (FE, SM.getFileManager ()))
200+ for (FileEntryRef Export : PI->getExporters (* FE, SM.getFileManager ()))
201201 Exporters.push (Export);
202202
203- if (auto Verbatim = PI->getPublic (FE); !Verbatim.empty ()) {
203+ if (auto Verbatim = PI->getPublic (* FE); !Verbatim.empty ()) {
204204 Results.emplace_back (Verbatim,
205205 Hints::PublicHeader | Hints::PreferredHeader);
206206 break ;
207207 }
208- if (PI->isSelfContained (FE) || FID == SM.getMainFileID ())
208+ if (PI->isSelfContained (* FE) || FID == SM.getMainFileID ())
209209 break ;
210210
211211 // Walkup the include stack for non self-contained headers.
212212 FID = SM.getDecomposedIncludedLoc (FID).first ;
213- FE = SM.getFileEntryForID (FID);
213+ FE = SM.getFileEntryRefForID (FID);
214214 IsOrigin = false ;
215215 }
216216 // Now traverse provider trees rooted at exporters.
@@ -219,12 +219,12 @@ llvm::SmallVector<Hinted<Header>> findHeaders(const SymbolLocation &Loc,
219219 // being exported in this header.
220220 std::set<const FileEntry *> SeenExports;
221221 while (!Exporters.empty ()) {
222- auto * Export = Exporters.front ();
222+ FileEntryRef Export = Exporters.front ();
223223 Exporters.pop ();
224224 if (!SeenExports.insert (Export).second ) // In case of cyclic exports
225225 continue ;
226226 Results.emplace_back (Export, isPublicHeader (Export, *PI));
227- for (const auto * Export : PI->getExporters (Export, SM.getFileManager ()))
227+ for (FileEntryRef Export : PI->getExporters (Export, SM.getFileManager ()))
228228 Exporters.push (Export);
229229 }
230230 return Results;
0 commit comments