@@ -2493,27 +2493,30 @@ void SwiftLangSupport::findRelatedIdentifiersInFile(
24932493 StringRef PrimaryFilePath, StringRef InputBufferName, unsigned Offset,
24942494 bool CancelOnSubsequentRequest, ArrayRef<const char *> Args,
24952495 SourceKitCancellationToken CancellationToken,
2496- std::function<void (const RequestResult<RelatedIdentsInfo> &)> Receiver) {
2496+ std::function<void (const RequestResult<ArrayRef<RelatedIdentInfo>> &)>
2497+ Receiver) {
24972498
24982499 std::string Error;
24992500 SwiftInvocationRef Invok =
25002501 ASTMgr->getTypecheckInvocation (Args, PrimaryFilePath, Error);
25012502 if (!Invok) {
25022503 LOG_WARN_FUNC (" failed to create an ASTInvocation: " << Error);
2503- Receiver (RequestResult<RelatedIdentsInfo >::fromError (Error));
2504+ Receiver (RequestResult<ArrayRef<RelatedIdentInfo> >::fromError (Error));
25042505 return ;
25052506 }
25062507
25072508 class RelatedIdConsumer : public SwiftASTConsumer {
25082509 std::string InputFile;
25092510 unsigned Offset;
2510- std::function<void (const RequestResult<RelatedIdentsInfo> &)> Receiver;
2511+ std::function<void (const RequestResult<ArrayRef<RelatedIdentInfo>> &)>
2512+ Receiver;
25112513 SwiftInvocationRef Invok;
25122514
25132515 public:
25142516 RelatedIdConsumer (
25152517 StringRef InputFile, unsigned Offset,
2516- std::function<void (const RequestResult<RelatedIdentsInfo> &)> Receiver,
2518+ std::function<void (const RequestResult<ArrayRef<RelatedIdentInfo>> &)>
2519+ Receiver,
25172520 SwiftInvocationRef Invok)
25182521 : InputFile(InputFile.str()), Offset(Offset),
25192522 Receiver (std::move(Receiver)), Invok(Invok) {}
@@ -2528,12 +2531,12 @@ void SwiftLangSupport::findRelatedIdentifiersInFile(
25282531
25292532 auto *SrcFile = retrieveInputFile (InputFile, CompInst);
25302533 if (!SrcFile) {
2531- Receiver (RequestResult<RelatedIdentsInfo >::fromError (
2534+ Receiver (RequestResult<ArrayRef<RelatedIdentInfo> >::fromError (
25322535 " Unable to find input file" ));
25332536 return ;
25342537 }
25352538
2536- SmallVector<std::pair< unsigned , unsigned > , 8 > Ranges;
2539+ SmallVector<RelatedIdentInfo , 8 > Ranges;
25372540
25382541 auto Action = [&]() {
25392542 unsigned BufferID = SrcFile->getBufferID ().value ();
@@ -2583,29 +2586,28 @@ void SwiftLangSupport::findRelatedIdentifiersInFile(
25832586 std::vector<ResolvedLoc> ResolvedLocs = resolveRenameLocations (
25842587 Locs.getLocations (), /* NewName=*/ StringRef (), *SrcFile, Diags);
25852588
2589+ assert (ResolvedLocs.size () == Locs.getLocations ().size ());
25862590 for (auto ResolvedLoc : ResolvedLocs) {
25872591 if (ResolvedLoc.range .isInvalid ()) {
25882592 continue ;
25892593 }
25902594 unsigned Offset = SrcMgr.getLocOffsetInBuffer (
25912595 ResolvedLoc.range .getStart (), BufferID);
2592- Ranges.emplace_back ( Offset, ResolvedLoc.range .getByteLength ());
2596+ Ranges.push_back ({ Offset, ResolvedLoc.range .getByteLength ()} );
25932597 }
25942598 };
25952599 Action ();
2596- RelatedIdentsInfo Info;
2597- Info.Ranges = Ranges;
2598- Receiver (RequestResult<RelatedIdentsInfo>::fromResult (Info));
2600+ Receiver (RequestResult<ArrayRef<RelatedIdentInfo>>::fromResult (Ranges));
25992601#endif
26002602 }
26012603
26022604 void cancelled () override {
2603- Receiver (RequestResult<RelatedIdentsInfo >::cancelled ());
2605+ Receiver (RequestResult<ArrayRef<RelatedIdentInfo> >::cancelled ());
26042606 }
26052607
26062608 void failed (StringRef Error) override {
26072609 LOG_WARN_FUNC (" related idents failed: " << Error);
2608- Receiver (RequestResult<RelatedIdentsInfo >::fromError (Error));
2610+ Receiver (RequestResult<ArrayRef<RelatedIdentInfo> >::fromError (Error));
26092611 }
26102612
26112613 static CaseStmt *getCaseStmtOfCanonicalVar (Decl *D) {
0 commit comments