Skip to content

Commit 6e73caf

Browse files
committed
[CodeCompletion] Include ImportDepth in CodeCompleteResult
1 parent 30d318a commit 6e73caf

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

include/swift/IDE/CompletionInstance.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ struct CompletionInstanceResult {
5555
struct CodeCompleteResult {
5656
CodeCompletionResultSink &ResultSink;
5757
SwiftCompletionInfo &Info;
58+
ImportDepth ImportDep;
5859
};
5960

6061
/// The results returned from \c CompletionInstance::typeContextInfo.

lib/IDE/CompletionInstance.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -577,14 +577,17 @@ void swift::ide::CompletionInstance::codeComplete(
577577
struct ConsumerToCallbackAdapter
578578
: public SimpleCachingCodeCompletionConsumer {
579579
SwiftCompletionInfo SwiftContext;
580+
ImportDepth ImportDep;
580581
std::shared_ptr<std::atomic<bool>> CancellationFlag;
581582
llvm::function_ref<void(ResultType)> Callback;
582583
bool HandleResultsCalled = false;
583584

584585
ConsumerToCallbackAdapter(
586+
ImportDepth ImportDep,
585587
std::shared_ptr<std::atomic<bool>> CancellationFlag,
586588
llvm::function_ref<void(ResultType)> Callback)
587-
: CancellationFlag(CancellationFlag), Callback(Callback) {}
589+
: ImportDep(ImportDep), CancellationFlag(CancellationFlag),
590+
Callback(Callback) {}
588591

589592
void setContext(swift::ASTContext *context,
590593
const swift::CompilerInvocation *invocation,
@@ -602,7 +605,7 @@ void swift::ide::CompletionInstance::codeComplete(
602605
Callback(ResultType::cancelled());
603606
} else {
604607
assert(SwiftContext.swiftASTContext);
605-
Callback(ResultType::success({context.getResultSink(), SwiftContext}));
608+
Callback(ResultType::success({context.getResultSink(), SwiftContext, ImportDep}));
606609
}
607610
}
608611
};
@@ -616,7 +619,9 @@ void swift::ide::CompletionInstance::codeComplete(
616619
auto DeliverTransformed) {
617620
CompletionContext.ReusingASTContext = Result.DidReuseAST;
618621
CompilerInstance &CI = Result.CI;
619-
ConsumerToCallbackAdapter Consumer(CancellationFlag,
622+
ImportDepth ImportDep{CI.getASTContext(),
623+
CI.getInvocation().getFrontendOptions()};
624+
ConsumerToCallbackAdapter Consumer(ImportDep, CancellationFlag,
620625
DeliverTransformed);
621626

622627
std::unique_ptr<CodeCompletionCallbacksFactory> callbacksFactory(
@@ -628,7 +633,7 @@ void swift::ide::CompletionInstance::codeComplete(
628633
&CI.getInvocation(),
629634
&CompletionContext};
630635
CodeCompletionResultSink ResultSink;
631-
DeliverTransformed(ResultType::success({ResultSink, Info}));
636+
DeliverTransformed(ResultType::success({ResultSink, Info, ImportDep}));
632637
return;
633638
}
634639

@@ -646,7 +651,7 @@ void swift::ide::CompletionInstance::codeComplete(
646651
&CI.getInvocation(),
647652
&CompletionContext};
648653
CodeCompletionResultSink ResultSink;
649-
DeliverTransformed(ResultType::success({ResultSink, Info}));
654+
DeliverTransformed(ResultType::success({ResultSink, Info, ImportDep}));
650655
}
651656
},
652657
Callback);

0 commit comments

Comments
 (0)