@@ -63,7 +63,7 @@ llvm::StringRef basename(llvm::StringRef Header) {
63
63
bool nameMatch (llvm::StringRef DeclName, Header H) {
64
64
switch (H.kind ()) {
65
65
case Header::Physical:
66
- return basename (H.physical ()-> getName ()).equals_insensitive (DeclName);
66
+ return basename (H.physical (). getName ()).equals_insensitive (DeclName);
67
67
case Header::Standard:
68
68
return basename (H.standard ().name ()).equals_insensitive (DeclName);
69
69
case Header::Verbatim:
@@ -101,7 +101,7 @@ hintedHeadersForStdHeaders(llvm::ArrayRef<tooling::stdlib::Header> Headers,
101
101
Results.emplace_back (H, Hints::PublicHeader | Hints::OriginHeader);
102
102
if (!PI)
103
103
continue ;
104
- for (const auto * Export : PI->getExporters (H, SM.getFileManager ()))
104
+ for (FileEntryRef Export : PI->getExporters (H, SM.getFileManager ()))
105
105
Results.emplace_back (Header (Export), isPublicHeader (Export, *PI));
106
106
}
107
107
// StandardLibrary returns headers in preference order, so only mark the
@@ -186,31 +186,31 @@ llvm::SmallVector<Hinted<Header>> findHeaders(const SymbolLocation &Loc,
186
186
switch (Loc.kind ()) {
187
187
case SymbolLocation::Physical: {
188
188
FileID FID = SM.getFileID (SM.getExpansionLoc (Loc.physical ()));
189
- const FileEntry * FE = SM.getFileEntryForID (FID);
189
+ OptionalFileEntryRef FE = SM.getFileEntryRefForID (FID);
190
190
if (!FE)
191
191
return {};
192
192
if (!PI)
193
- return {{FE, Hints::PublicHeader | Hints::OriginHeader}};
193
+ return {{* FE, Hints::PublicHeader | Hints::OriginHeader}};
194
194
bool IsOrigin = true ;
195
- std::queue<const FileEntry * > Exporters;
195
+ std::queue<FileEntryRef > Exporters;
196
196
while (FE) {
197
- Results.emplace_back (FE,
198
- isPublicHeader (FE, *PI) |
197
+ Results.emplace_back (* FE,
198
+ isPublicHeader (* FE, *PI) |
199
199
(IsOrigin ? Hints::OriginHeader : Hints::None));
200
- for (const auto * Export : PI->getExporters (FE, SM.getFileManager ()))
200
+ for (FileEntryRef Export : PI->getExporters (* FE, SM.getFileManager ()))
201
201
Exporters.push (Export);
202
202
203
- if (auto Verbatim = PI->getPublic (FE); !Verbatim.empty ()) {
203
+ if (auto Verbatim = PI->getPublic (* FE); !Verbatim.empty ()) {
204
204
Results.emplace_back (Verbatim,
205
205
Hints::PublicHeader | Hints::PreferredHeader);
206
206
break ;
207
207
}
208
- if (PI->isSelfContained (FE) || FID == SM.getMainFileID ())
208
+ if (PI->isSelfContained (* FE) || FID == SM.getMainFileID ())
209
209
break ;
210
210
211
211
// Walkup the include stack for non self-contained headers.
212
212
FID = SM.getDecomposedIncludedLoc (FID).first ;
213
- FE = SM.getFileEntryForID (FID);
213
+ FE = SM.getFileEntryRefForID (FID);
214
214
IsOrigin = false ;
215
215
}
216
216
// Now traverse provider trees rooted at exporters.
@@ -219,12 +219,12 @@ llvm::SmallVector<Hinted<Header>> findHeaders(const SymbolLocation &Loc,
219
219
// being exported in this header.
220
220
std::set<const FileEntry *> SeenExports;
221
221
while (!Exporters.empty ()) {
222
- auto * Export = Exporters.front ();
222
+ FileEntryRef Export = Exporters.front ();
223
223
Exporters.pop ();
224
224
if (!SeenExports.insert (Export).second ) // In case of cyclic exports
225
225
continue ;
226
226
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 ()))
228
228
Exporters.push (Export);
229
229
}
230
230
return Results;
0 commit comments