Skip to content

Commit c8424c1

Browse files
committed
[CodeComplete] Remove code for call pattern heuristics
These options weren’t used anymore, so we can remove them.
1 parent dd5486c commit c8424c1

File tree

11 files changed

+7
-54
lines changed

11 files changed

+7
-54
lines changed

include/swift/IDE/CodeCompletionContext.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,6 @@ class CodeCompletionContext {
7979
return CurrentResults.addInitsToTopLevel;
8080
}
8181

82-
void setCallPatternHeuristics(bool flag) {
83-
CurrentResults.enableCallPatternHeuristics = flag;
84-
}
85-
bool getCallPatternHeuristics() const {
86-
return CurrentResults.enableCallPatternHeuristics;
87-
}
88-
8982
void setAddCallWithNoDefaultArgs(bool flag) {
9083
CurrentResults.addCallWithNoDefaultArgs = flag;
9184
}

include/swift/IDE/CodeCompletionResultSink.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ struct CodeCompletionResultSink {
3838
/// position.
3939
bool addInitsToTopLevel = false;
4040

41-
/// Whether to perform "call pettern heuristics".
42-
bool enableCallPatternHeuristics = false;
43-
4441
/// Whether to include an item without any default arguments.
4542
bool addCallWithNoDefaultArgs = true;
4643

include/swift/Parse/IDEInspectionCallbacks.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ class CodeCompletionCallbacks {
246246
virtual void completeUnresolvedMember(CodeCompletionExpr *E,
247247
SourceLoc DotLoc) {};
248248

249-
virtual void completeCallArg(CodeCompletionExpr *E, bool isFirst) {};
249+
virtual void completeCallArg(CodeCompletionExpr *E) {};
250250

251251
virtual bool canPerformCompleteLabeledTrailingClosure() const {
252252
return false;

lib/IDE/CodeCompletion.cpp

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ class CodeCompletionCallbacksImpl : public CodeCompletionCallbacks,
130130
bool AttrParamHasLabel;
131131
bool IsInSil = false;
132132
bool HasSpace = false;
133-
bool ShouldCompleteCallPatternAfterParen = true;
134133
bool PreferFunctionReferencesToCalls = false;
135134
bool AttTargetIsIndependent = false;
136135
llvm::Optional<DeclKind> AttTargetDK;
@@ -284,7 +283,7 @@ class CodeCompletionCallbacksImpl : public CodeCompletionCallbacks,
284283
void completeImportDecl(ImportPath::Builder &Path) override;
285284
void completeUnresolvedMember(CodeCompletionExpr *E,
286285
SourceLoc DotLoc) override;
287-
void completeCallArg(CodeCompletionExpr *E, bool isFirst) override;
286+
void completeCallArg(CodeCompletionExpr *E) override;
288287

289288
bool canPerformCompleteLabeledTrailingClosure() const override {
290289
return true;
@@ -546,26 +545,10 @@ void CodeCompletionCallbacksImpl::completeUnresolvedMember(CodeCompletionExpr *E
546545
this->DotLoc = DotLoc;
547546
}
548547

549-
void CodeCompletionCallbacksImpl::completeCallArg(CodeCompletionExpr *E,
550-
bool isFirst) {
548+
void CodeCompletionCallbacksImpl::completeCallArg(CodeCompletionExpr *E) {
551549
CurDeclContext = P.CurDeclContext;
552550
CodeCompleteTokenExpr = E;
553551
Kind = CompletionKind::CallArg;
554-
555-
ShouldCompleteCallPatternAfterParen = false;
556-
if (isFirst) {
557-
ShouldCompleteCallPatternAfterParen = true;
558-
if (CompletionContext.getCallPatternHeuristics()) {
559-
// Lookahead one token to decide what kind of call completions to provide.
560-
// When it appears that there is already code for the call present, just
561-
// complete values and/or argument labels. Otherwise give the entire call
562-
// pattern.
563-
Token next = P.peekToken();
564-
if (!next.isAtStartOfLine() && !next.is(tok::eof) && !next.is(tok::r_paren)) {
565-
ShouldCompleteCallPatternAfterParen = false;
566-
}
567-
}
568-
}
569552
}
570553

571554
void CodeCompletionCallbacksImpl::completeReturnStmt(CodeCompletionExpr *E) {

lib/IDE/CodeCompletionContext.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ void CodeCompletionContext::addResultsFromModules(
142142
CodeCompletionResultSink Sink;
143143
Sink.annotateResult = getAnnotateResult();
144144
Sink.addInitsToTopLevel = getAddInitsToTopLevel();
145-
Sink.enableCallPatternHeuristics = getCallPatternHeuristics();
146145
Sink.includeObjectLiterals = includeObjectLiterals();
147146
Sink.addCallWithNoDefaultArgs = addCallWithNoDefaultArgs();
148147
Sink.setProduceContextFreeResults((*V)->USRTypeArena);

lib/IDE/TypeContextInfo.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class ContextInfoCallbacks : public CodeCompletionCallbacks,
4343
void completeForEachSequenceBeginning(CodeCompletionExpr *E) override;
4444
void completeCaseStmtBeginning(CodeCompletionExpr *E) override;
4545

46-
void completeCallArg(CodeCompletionExpr *E, bool isFirst) override;
46+
void completeCallArg(CodeCompletionExpr *E) override;
4747
void completeReturnStmt(CodeCompletionExpr *E) override;
4848
void completeThenStmt(CodeCompletionExpr *E) override;
4949
void completeYieldStmt(CodeCompletionExpr *E,
@@ -65,8 +65,7 @@ void ContextInfoCallbacks::completeForEachSequenceBeginning(
6565
CurDeclContext = P.CurDeclContext;
6666
ParsedExpr = E;
6767
}
68-
void ContextInfoCallbacks::completeCallArg(CodeCompletionExpr *E,
69-
bool isFirst) {
68+
void ContextInfoCallbacks::completeCallArg(CodeCompletionExpr *E) {
7069
CurDeclContext = P.CurDeclContext;
7170
ParsedExpr = E;
7271
}

lib/Parse/ParseExpr.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3276,8 +3276,7 @@ ParserStatus Parser::parseExprListElement(tok rightTok, bool isArgumentList, Sou
32763276
// Handle call arguments specially because it may need argument labels.
32773277
auto CCExpr = new (Context) CodeCompletionExpr(Tok.getLoc());
32783278
if (this->CodeCompletionCallbacks)
3279-
this->CodeCompletionCallbacks->completeCallArg(CCExpr,
3280-
PreviousLoc == leftLoc);
3279+
this->CodeCompletionCallbacks->completeCallArg(CCExpr);
32813280
consumeIf(tok::code_complete);
32823281
elts.push_back({FieldNameLoc, FieldName, CCExpr});
32833282
Status.setHasCodeCompletionAndIsError();

test/IDE/complete_typerelation.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t -code-complete-call-pattern-heuristics -disable-objc-attr-requires-foundation-module
2+
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t -disable-objc-attr-requires-foundation-module
33

44
// SE-0353
55
struct ConstraintedExistentialTest {

tools/SourceKit/lib/SwiftLang/CodeCompletionOrganizer.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ struct Options {
3838
bool addInnerResults = false;
3939
bool addInnerOperators = true;
4040
bool addInitsToTopLevel = false;
41-
bool callPatternHeuristics = false;
4241
bool hideUnderscores = true;
4342
bool reallyHideAllUnderscores = false;
4443
bool hideLowPriority = true;

tools/SourceKit/lib/SwiftLang/SwiftCompletion.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ static void swiftCodeCompleteImpl(
101101
CompletionContext.setAnnotateResult(opts.annotatedDescription);
102102
CompletionContext.setIncludeObjectLiterals(opts.includeObjectLiterals);
103103
CompletionContext.setAddInitsToTopLevel(opts.addInitsToTopLevel);
104-
CompletionContext.setCallPatternHeuristics(opts.callPatternHeuristics);
105104
CompletionContext.setAddCallWithNoDefaultArgs(opts.addCallWithNoDefaultArgs);
106105

107106
Lang.performWithParamsToCompletionLikeOperation(
@@ -722,7 +721,6 @@ static void translateCodeCompletionOptions(OptionsDictionary &from,
722721
static UIdent KeyAddInnerResults("key.codecomplete.addinnerresults");
723722
static UIdent KeyAddInnerOperators("key.codecomplete.addinneroperators");
724723
static UIdent KeyAddInitsToTopLevel("key.codecomplete.addinitstotoplevel");
725-
static UIdent KeyCallPatternHeuristics("key.codecomplete.callpatternheuristics");
726724
static UIdent KeyFuzzyMatching("key.codecomplete.fuzzymatching");
727725
static UIdent KeyTopNonLiteral("key.codecomplete.showtopnonliteralresults");
728726
static UIdent KeyContextWeight("key.codecomplete.sort.contextweight");
@@ -747,7 +745,6 @@ static void translateCodeCompletionOptions(OptionsDictionary &from,
747745
from.valueForOption(KeyAddInnerResults, to.addInnerResults);
748746
from.valueForOption(KeyAddInnerOperators, to.addInnerOperators);
749747
from.valueForOption(KeyAddInitsToTopLevel, to.addInitsToTopLevel);
750-
from.valueForOption(KeyCallPatternHeuristics, to.callPatternHeuristics);
751748
from.valueForOption(KeyFuzzyMatching, to.fuzzyMatching);
752749
from.valueForOption(KeyContextWeight, to.semanticContextWeight);
753750
from.valueForOption(KeyFuzzyWeight, to.fuzzyMatchWeight);
@@ -1103,7 +1100,6 @@ void SwiftLangSupport::codeCompleteOpen(
11031100
unsigned maxResults = 0;
11041101
CodeCompletion::Options CCOpts;
11051102
// Enable "call pattern heuristics" by default for this API.
1106-
CCOpts.callPatternHeuristics = true;
11071103
if (options)
11081104
translateCodeCompletionOptions(*options, CCOpts, filterText, resultOffset,
11091105
maxResults);

tools/swift-ide-test/swift-ide-test.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -407,11 +407,6 @@ static llvm::cl::opt<bool> CodeCompleteInitsInPostfixExpr(
407407
llvm::cl::desc(
408408
"Include initializers when completing a postfix expression"),
409409
llvm::cl::cat(Category));
410-
static llvm::cl::opt<bool> CodeCompleteCallPatternHeuristics(
411-
"code-complete-call-pattern-heuristics",
412-
llvm::cl::desc(
413-
"Use heuristics to guess whether we want call pattern completions"),
414-
llvm::cl::cat(Category));
415410

416411
static llvm::cl::opt<bool>
417412
DisableObjCAttrRequiresFoundationModule(
@@ -1408,7 +1403,6 @@ doCodeCompletion(const CompilerInvocation &InitInvok, StringRef SourceFilename,
14081403
bool CodeCompletionComments,
14091404
bool CodeCompletionAnnotateResults,
14101405
bool CodeCompletionAddInitsToTopLevel,
1411-
bool CodeCompletionCallPatternHeuristics,
14121406
bool CodeCompletionAddCallWithNoDefaultArgs,
14131407
bool CodeCompletionSourceText) {
14141408
std::unique_ptr<ide::OnDiskCodeCompletionCache> OnDiskCache;
@@ -1420,7 +1414,6 @@ doCodeCompletion(const CompilerInvocation &InitInvok, StringRef SourceFilename,
14201414
ide::CodeCompletionContext CompletionContext(CompletionCache);
14211415
CompletionContext.setAnnotateResult(CodeCompletionAnnotateResults);
14221416
CompletionContext.setAddInitsToTopLevel(CodeCompletionAddInitsToTopLevel);
1423-
CompletionContext.setCallPatternHeuristics(CodeCompletionCallPatternHeuristics);
14241417
CompletionContext.setAddCallWithNoDefaultArgs(
14251418
CodeCompletionAddCallWithNoDefaultArgs);
14261419

@@ -1451,7 +1444,6 @@ static int doBatchCodeCompletion(const CompilerInvocation &InitInvok,
14511444
bool CodeCompletionComments,
14521445
bool CodeCompletionAnnotateResults,
14531446
bool CodeCompletionAddInitsToTopLevel,
1454-
bool CodeCompletionCallPatternHeuristics,
14551447
bool CodeCompletionAddCallWithNoDefaultArgs,
14561448
bool CodeCompletionSourceText) {
14571449
auto FileBufOrErr = llvm::MemoryBuffer::getFile(SourceFilename);
@@ -1580,8 +1572,6 @@ static int doBatchCodeCompletion(const CompilerInvocation &InitInvok,
15801572
ide::CodeCompletionContext CompletionContext(CompletionCache);
15811573
CompletionContext.setAnnotateResult(CodeCompletionAnnotateResults);
15821574
CompletionContext.setAddInitsToTopLevel(CodeCompletionAddInitsToTopLevel);
1583-
CompletionContext.setCallPatternHeuristics(
1584-
CodeCompletionCallPatternHeuristics);
15851575
CompletionContext.setAddCallWithNoDefaultArgs(
15861576
CodeCompletionAddCallWithNoDefaultArgs);
15871577

@@ -4640,7 +4630,6 @@ int main(int argc, char *argv[]) {
46404630
options::CodeCompletionKeywords, options::CodeCompletionComments,
46414631
options::CodeCompletionAnnotateResults,
46424632
options::CodeCompleteInitsInPostfixExpr,
4643-
options::CodeCompleteCallPatternHeuristics,
46444633
options::CodeCompletionAddCallWithNoDefaultArgs,
46454634
options::CodeCompletionSourceText);
46464635
break;
@@ -4656,7 +4645,6 @@ int main(int argc, char *argv[]) {
46564645
options::CodeCompletionKeywords, options::CodeCompletionComments,
46574646
options::CodeCompletionAnnotateResults,
46584647
options::CodeCompleteInitsInPostfixExpr,
4659-
options::CodeCompleteCallPatternHeuristics,
46604648
options::CodeCompletionAddCallWithNoDefaultArgs,
46614649
options::CodeCompletionSourceText);
46624650
break;

0 commit comments

Comments
 (0)