Skip to content

Commit 5469760

Browse files
authored
Merge pull request #62636 from ahoppen/ahoppen/always-sourcedocinfo
[SourceKit] Retrieve swiftsourcedocinfo for code completion request
2 parents f01bcce + c47a322 commit 5469760

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

include/swift/IDETool/IDEInspectionInstance.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class IDEInspectionInstance {
161161
swift::CompilerInvocation &Invocation, llvm::ArrayRef<const char *> Args,
162162
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> FileSystem,
163163
llvm::MemoryBuffer *ideInspectionTargetBuffer, unsigned int Offset,
164-
DiagnosticConsumer *DiagC, bool IgnoreSwiftSourceInfo,
164+
DiagnosticConsumer *DiagC,
165165
std::shared_ptr<std::atomic<bool>> CancellationFlag,
166166
llvm::function_ref<void(CancellableResult<IDEInspectionInstanceResult>)>
167167
Callback);

lib/IDETool/IDEInspectionInstance.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ void swift::ide::IDEInspectionInstance::performOperation(
551551
swift::CompilerInvocation &Invocation, llvm::ArrayRef<const char *> Args,
552552
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> FileSystem,
553553
llvm::MemoryBuffer *ideInspectionTargetBuffer, unsigned int Offset,
554-
DiagnosticConsumer *DiagC, bool IgnoreSwiftSourceInfo,
554+
DiagnosticConsumer *DiagC,
555555
std::shared_ptr<std::atomic<bool>> CancellationFlag,
556556
llvm::function_ref<void(CancellableResult<IDEInspectionInstanceResult>)>
557557
Callback) {
@@ -573,8 +573,6 @@ void swift::ide::IDEInspectionInstance::performOperation(
573573
return;
574574
}
575575

576-
Invocation.getFrontendOptions().IgnoreSwiftSourceInfo = IgnoreSwiftSourceInfo;
577-
578576
// We don't need token list.
579577
Invocation.getLangOptions().CollectParsedToken = false;
580578

@@ -630,7 +628,7 @@ void swift::ide::IDEInspectionInstance::codeComplete(
630628
// they're somewhat heavy operations and aren't needed for completion.
631629
performOperation(
632630
Invocation, Args, FileSystem, ideInspectionTargetBuffer, Offset, DiagC,
633-
/*IgnoreSwiftSourceInfo=*/true, CancellationFlag,
631+
CancellationFlag,
634632
[&](CancellableResult<IDEInspectionInstanceResult> CIResult) {
635633
CIResult.mapAsync<CodeCompleteResult>(
636634
[&CompletionContext, &CancellationFlag](auto &Result,
@@ -707,7 +705,7 @@ void swift::ide::IDEInspectionInstance::typeContextInfo(
707705

708706
performOperation(
709707
Invocation, Args, FileSystem, ideInspectionTargetBuffer, Offset, DiagC,
710-
/*IgnoreSwiftSourceInfo=*/true, CancellationFlag,
708+
CancellationFlag,
711709
[&](CancellableResult<IDEInspectionInstanceResult> CIResult) {
712710
CIResult.mapAsync<TypeContextInfoResult>(
713711
[&CancellationFlag](auto &Result, auto DeliverTransformed) {
@@ -775,7 +773,7 @@ void swift::ide::IDEInspectionInstance::conformingMethodList(
775773

776774
performOperation(
777775
Invocation, Args, FileSystem, ideInspectionTargetBuffer, Offset, DiagC,
778-
/*IgnoreSwiftSourceInfo=*/true, CancellationFlag,
776+
CancellationFlag,
779777
[&](CancellableResult<IDEInspectionInstanceResult> CIResult) {
780778
CIResult.mapAsync<ConformingMethodListResults>(
781779
[&ExpectedTypeNames, &CancellationFlag](auto &Result,
@@ -841,7 +839,7 @@ void swift::ide::IDEInspectionInstance::cursorInfo(
841839

842840
performOperation(
843841
Invocation, Args, FileSystem, ideInspectionTargetBuffer, Offset, DiagC,
844-
/*IgnoreSwiftSourceInfo=*/false, CancellationFlag,
842+
CancellationFlag,
845843
[&](CancellableResult<IDEInspectionInstanceResult> CIResult) {
846844
CIResult.mapAsync<CursorInfoResults>(
847845
[&CancellationFlag, Offset](auto &Result, auto DeliverTransformed) {

test/SourceKit/CursorInfo/cursor_uses_swiftsourceinfo.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
// RUN: %target-swift-frontend -emit-module -module-name MyModule -emit-module-path %t/build/MyModule.swiftmodule -emit-module-source-info-path %t/build/MyModule.swiftsourceinfo %t/split/Action.swift
55
// RUN: %sourcekitd-test -req=cursor -req-opts=retrieve_symbol_graph=1 -pos=5:14 %t/split/test.swift -- %t/split/test.swift -I %t/build -target %target-triple | %FileCheck %s
66

7+
// We should also get source doc info if we execute a code completion request (which doesn't need source doc info) first
8+
// RUN: %sourcekitd-test \
9+
// RUN: -req=complete %t/split/test.swift -pos=5:14 -- %t/split/test.swift -I %t/build -target %target-triple == \
10+
// RUN: -req=cursor -req-opts=retrieve_symbol_graph=1 -pos=5:14 %t/split/test.swift -- %t/split/test.swift -I %t/build -target %target-triple
11+
712
// BEGIN Action.swift
813
public protocol Action {}
914

0 commit comments

Comments
 (0)