Skip to content

Commit c7d53f7

Browse files
committed
[SourceKit] Respect -name option in sourcekitd-test
1 parent 19d325b commit c7d53f7

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

tools/SourceKit/tools/sourcekitd-test/sourcekitd-test.cpp

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
392392
llvm::sys::fs::make_absolute(AbsSourceFile);
393393
SourceFile = AbsSourceFile.str();
394394
}
395+
std::string SemaName = !Opts.Name.empty() ? Opts.Name : SourceFile;
395396

396397
if (!Opts.TextInputFile.empty()) {
397398
auto Buf = getBufferForFilename(Opts.TextInputFile);
@@ -471,22 +472,22 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
471472
sourcekitd_request_dictionary_set_uid(Req, KeyRequest,
472473
RequestCodeCompleteOpen);
473474
sourcekitd_request_dictionary_set_int64(Req, KeyOffset, ByteOffset);
474-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
475+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
475476
addCodeCompleteOptions(Req, Opts);
476477
break;
477478

478479
case SourceKitRequest::CodeCompleteClose:
479480
sourcekitd_request_dictionary_set_uid(Req, KeyRequest,
480481
RequestCodeCompleteClose);
481482
sourcekitd_request_dictionary_set_int64(Req, KeyOffset, ByteOffset);
482-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
483+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
483484
break;
484485

485486
case SourceKitRequest::CodeCompleteUpdate:
486487
sourcekitd_request_dictionary_set_uid(Req, KeyRequest,
487488
RequestCodeCompleteUpdate);
488489
sourcekitd_request_dictionary_set_int64(Req, KeyOffset, ByteOffset);
489-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
490+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
490491
addCodeCompleteOptions(Req, Opts);
491492
break;
492493

@@ -642,7 +643,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
642643

643644
case SourceKitRequest::SyntaxMap:
644645
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
645-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
646+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
646647
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxMap, true);
647648
sourcekitd_request_dictionary_set_int64(Req, KeyEnableStructure, false);
648649
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxTree, false);
@@ -651,7 +652,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
651652

652653
case SourceKitRequest::Structure:
653654
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
654-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
655+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
655656
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxMap, false);
656657
sourcekitd_request_dictionary_set_int64(Req, KeyEnableStructure, true);
657658
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxTree, false);
@@ -660,7 +661,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
660661

661662
case SourceKitRequest::Format:
662663
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
663-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
664+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
664665
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxMap, false);
665666
sourcekitd_request_dictionary_set_int64(Req, KeyEnableStructure, false);
666667
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxTree, false);
@@ -669,15 +670,15 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
669670

670671
case SourceKitRequest::ExpandPlaceholder:
671672
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
672-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
673+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
673674
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxMap, false);
674675
sourcekitd_request_dictionary_set_int64(Req, KeyEnableStructure, false);
675676
sourcekitd_request_dictionary_set_int64(Req, KeySyntacticOnly, !Opts.UsedSema);
676677
break;
677678

678679
case SourceKitRequest::SyntaxTree:
679680
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
680-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
681+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
681682
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxMap, false);
682683
sourcekitd_request_dictionary_set_int64(Req, KeyEnableStructure, false);
683684
sourcekitd_request_dictionary_set_int64(Req, KeyEnableSyntaxTree, true);
@@ -691,23 +692,23 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
691692
case SourceKitRequest::SemanticInfo:
692693
InitOpts.UsedSema = true;
693694
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
694-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
695+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
695696
break;
696697

697698
case SourceKitRequest::Open:
698699
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorOpen);
699-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
700+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
700701
break;
701702

702703
case SourceKitRequest::Close:
703704
sourcekitd_request_dictionary_set_uid(Req, KeyRequest, RequestEditorClose);
704-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
705+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
705706
break;
706707

707708
case SourceKitRequest::Edit:
708709
sourcekitd_request_dictionary_set_uid(Req, KeyRequest,
709710
RequestEditorReplaceText);
710-
sourcekitd_request_dictionary_set_string(Req, KeyName, SourceFile.c_str());
711+
sourcekitd_request_dictionary_set_string(Req, KeyName, SemaName.c_str());
711712
sourcekitd_request_dictionary_set_int64(Req, KeyOffset, ByteOffset);
712713
sourcekitd_request_dictionary_set_int64(Req, KeyLength, Opts.Length);
713714
sourcekitd_request_dictionary_set_string(Req, KeySourceText,
@@ -878,15 +879,15 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
878879
if (!Opts.isAsyncRequest) {
879880
sourcekitd_response_t Resp = sendRequestSync(Req, Opts);
880881
sourcekitd_request_release(Req);
881-
return handleResponse(Resp, Opts, SourceFile, std::move(SourceBuf),
882+
return handleResponse(Resp, Opts, SemaName, std::move(SourceBuf),
882883
&InitOpts)
883884
? 1
884885
: 0;
885886
} else {
886887
#if SOURCEKITD_HAS_BLOCKS
887888
AsyncResponseInfo info;
888889
info.options = Opts;
889-
info.sourceFilename = std::move(SourceFile);
890+
info.sourceFilename = std::move(SemaName);
890891
info.sourceBuffer = std::move(SourceBuf);
891892
unsigned respIndex = asyncResponses.size();
892893
asyncResponses.push_back(std::move(info));

0 commit comments

Comments
 (0)