@@ -392,6 +392,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
392
392
llvm::sys::fs::make_absolute (AbsSourceFile);
393
393
SourceFile = AbsSourceFile.str ();
394
394
}
395
+ std::string SemaName = !Opts.Name .empty () ? Opts.Name : SourceFile;
395
396
396
397
if (!Opts.TextInputFile .empty ()) {
397
398
auto Buf = getBufferForFilename (Opts.TextInputFile );
@@ -471,22 +472,22 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
471
472
sourcekitd_request_dictionary_set_uid (Req, KeyRequest,
472
473
RequestCodeCompleteOpen);
473
474
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 ());
475
476
addCodeCompleteOptions (Req, Opts);
476
477
break ;
477
478
478
479
case SourceKitRequest::CodeCompleteClose:
479
480
sourcekitd_request_dictionary_set_uid (Req, KeyRequest,
480
481
RequestCodeCompleteClose);
481
482
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 ());
483
484
break ;
484
485
485
486
case SourceKitRequest::CodeCompleteUpdate:
486
487
sourcekitd_request_dictionary_set_uid (Req, KeyRequest,
487
488
RequestCodeCompleteUpdate);
488
489
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 ());
490
491
addCodeCompleteOptions (Req, Opts);
491
492
break ;
492
493
@@ -642,7 +643,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
642
643
643
644
case SourceKitRequest::SyntaxMap:
644
645
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 ());
646
647
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxMap, true );
647
648
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableStructure, false );
648
649
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxTree, false );
@@ -651,7 +652,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
651
652
652
653
case SourceKitRequest::Structure:
653
654
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 ());
655
656
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxMap, false );
656
657
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableStructure, true );
657
658
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxTree, false );
@@ -660,7 +661,7 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
660
661
661
662
case SourceKitRequest::Format:
662
663
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 ());
664
665
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxMap, false );
665
666
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableStructure, false );
666
667
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxTree, false );
@@ -669,15 +670,15 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
669
670
670
671
case SourceKitRequest::ExpandPlaceholder:
671
672
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 ());
673
674
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxMap, false );
674
675
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableStructure, false );
675
676
sourcekitd_request_dictionary_set_int64 (Req, KeySyntacticOnly, !Opts.UsedSema );
676
677
break ;
677
678
678
679
case SourceKitRequest::SyntaxTree:
679
680
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 ());
681
682
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxMap, false );
682
683
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableStructure, false );
683
684
sourcekitd_request_dictionary_set_int64 (Req, KeyEnableSyntaxTree, true );
@@ -691,23 +692,23 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
691
692
case SourceKitRequest::SemanticInfo:
692
693
InitOpts.UsedSema = true ;
693
694
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 ());
695
696
break ;
696
697
697
698
case SourceKitRequest::Open:
698
699
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 ());
700
701
break ;
701
702
702
703
case SourceKitRequest::Close:
703
704
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 ());
705
706
break ;
706
707
707
708
case SourceKitRequest::Edit:
708
709
sourcekitd_request_dictionary_set_uid (Req, KeyRequest,
709
710
RequestEditorReplaceText);
710
- sourcekitd_request_dictionary_set_string (Req, KeyName, SourceFile .c_str ());
711
+ sourcekitd_request_dictionary_set_string (Req, KeyName, SemaName .c_str ());
711
712
sourcekitd_request_dictionary_set_int64 (Req, KeyOffset, ByteOffset);
712
713
sourcekitd_request_dictionary_set_int64 (Req, KeyLength, Opts.Length );
713
714
sourcekitd_request_dictionary_set_string (Req, KeySourceText,
@@ -878,15 +879,15 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
878
879
if (!Opts.isAsyncRequest ) {
879
880
sourcekitd_response_t Resp = sendRequestSync (Req, Opts);
880
881
sourcekitd_request_release (Req);
881
- return handleResponse (Resp, Opts, SourceFile , std::move (SourceBuf),
882
+ return handleResponse (Resp, Opts, SemaName , std::move (SourceBuf),
882
883
&InitOpts)
883
884
? 1
884
885
: 0 ;
885
886
} else {
886
887
#if SOURCEKITD_HAS_BLOCKS
887
888
AsyncResponseInfo info;
888
889
info.options = Opts;
889
- info.sourceFilename = std::move (SourceFile );
890
+ info.sourceFilename = std::move (SemaName );
890
891
info.sourceBuffer = std::move (SourceBuf);
891
892
unsigned respIndex = asyncResponses.size ();
892
893
asyncResponses.push_back (std::move (info));
0 commit comments