mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[CodeComplete] Remove code for call pattern heuristics
These options weren’t used anymore, so we can remove them.
This commit is contained in:
@@ -79,13 +79,6 @@ public:
|
||||
return CurrentResults.addInitsToTopLevel;
|
||||
}
|
||||
|
||||
void setCallPatternHeuristics(bool flag) {
|
||||
CurrentResults.enableCallPatternHeuristics = flag;
|
||||
}
|
||||
bool getCallPatternHeuristics() const {
|
||||
return CurrentResults.enableCallPatternHeuristics;
|
||||
}
|
||||
|
||||
void setAddCallWithNoDefaultArgs(bool flag) {
|
||||
CurrentResults.addCallWithNoDefaultArgs = flag;
|
||||
}
|
||||
|
||||
@@ -38,9 +38,6 @@ struct CodeCompletionResultSink {
|
||||
/// position.
|
||||
bool addInitsToTopLevel = false;
|
||||
|
||||
/// Whether to perform "call pettern heuristics".
|
||||
bool enableCallPatternHeuristics = false;
|
||||
|
||||
/// Whether to include an item without any default arguments.
|
||||
bool addCallWithNoDefaultArgs = true;
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ public:
|
||||
virtual void completeUnresolvedMember(CodeCompletionExpr *E,
|
||||
SourceLoc DotLoc) {};
|
||||
|
||||
virtual void completeCallArg(CodeCompletionExpr *E, bool isFirst) {};
|
||||
virtual void completeCallArg(CodeCompletionExpr *E) {};
|
||||
|
||||
virtual bool canPerformCompleteLabeledTrailingClosure() const {
|
||||
return false;
|
||||
|
||||
@@ -130,7 +130,6 @@ class CodeCompletionCallbacksImpl : public CodeCompletionCallbacks,
|
||||
bool AttrParamHasLabel;
|
||||
bool IsInSil = false;
|
||||
bool HasSpace = false;
|
||||
bool ShouldCompleteCallPatternAfterParen = true;
|
||||
bool PreferFunctionReferencesToCalls = false;
|
||||
bool AttTargetIsIndependent = false;
|
||||
llvm::Optional<DeclKind> AttTargetDK;
|
||||
@@ -284,7 +283,7 @@ public:
|
||||
void completeImportDecl(ImportPath::Builder &Path) override;
|
||||
void completeUnresolvedMember(CodeCompletionExpr *E,
|
||||
SourceLoc DotLoc) override;
|
||||
void completeCallArg(CodeCompletionExpr *E, bool isFirst) override;
|
||||
void completeCallArg(CodeCompletionExpr *E) override;
|
||||
|
||||
bool canPerformCompleteLabeledTrailingClosure() const override {
|
||||
return true;
|
||||
@@ -546,26 +545,10 @@ void CodeCompletionCallbacksImpl::completeUnresolvedMember(CodeCompletionExpr *E
|
||||
this->DotLoc = DotLoc;
|
||||
}
|
||||
|
||||
void CodeCompletionCallbacksImpl::completeCallArg(CodeCompletionExpr *E,
|
||||
bool isFirst) {
|
||||
void CodeCompletionCallbacksImpl::completeCallArg(CodeCompletionExpr *E) {
|
||||
CurDeclContext = P.CurDeclContext;
|
||||
CodeCompleteTokenExpr = E;
|
||||
Kind = CompletionKind::CallArg;
|
||||
|
||||
ShouldCompleteCallPatternAfterParen = false;
|
||||
if (isFirst) {
|
||||
ShouldCompleteCallPatternAfterParen = true;
|
||||
if (CompletionContext.getCallPatternHeuristics()) {
|
||||
// Lookahead one token to decide what kind of call completions to provide.
|
||||
// When it appears that there is already code for the call present, just
|
||||
// complete values and/or argument labels. Otherwise give the entire call
|
||||
// pattern.
|
||||
Token next = P.peekToken();
|
||||
if (!next.isAtStartOfLine() && !next.is(tok::eof) && !next.is(tok::r_paren)) {
|
||||
ShouldCompleteCallPatternAfterParen = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CodeCompletionCallbacksImpl::completeReturnStmt(CodeCompletionExpr *E) {
|
||||
|
||||
@@ -142,7 +142,6 @@ void CodeCompletionContext::addResultsFromModules(
|
||||
CodeCompletionResultSink Sink;
|
||||
Sink.annotateResult = getAnnotateResult();
|
||||
Sink.addInitsToTopLevel = getAddInitsToTopLevel();
|
||||
Sink.enableCallPatternHeuristics = getCallPatternHeuristics();
|
||||
Sink.includeObjectLiterals = includeObjectLiterals();
|
||||
Sink.addCallWithNoDefaultArgs = addCallWithNoDefaultArgs();
|
||||
Sink.setProduceContextFreeResults((*V)->USRTypeArena);
|
||||
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
void completeForEachSequenceBeginning(CodeCompletionExpr *E) override;
|
||||
void completeCaseStmtBeginning(CodeCompletionExpr *E) override;
|
||||
|
||||
void completeCallArg(CodeCompletionExpr *E, bool isFirst) override;
|
||||
void completeCallArg(CodeCompletionExpr *E) override;
|
||||
void completeReturnStmt(CodeCompletionExpr *E) override;
|
||||
void completeThenStmt(CodeCompletionExpr *E) override;
|
||||
void completeYieldStmt(CodeCompletionExpr *E,
|
||||
@@ -65,8 +65,7 @@ void ContextInfoCallbacks::completeForEachSequenceBeginning(
|
||||
CurDeclContext = P.CurDeclContext;
|
||||
ParsedExpr = E;
|
||||
}
|
||||
void ContextInfoCallbacks::completeCallArg(CodeCompletionExpr *E,
|
||||
bool isFirst) {
|
||||
void ContextInfoCallbacks::completeCallArg(CodeCompletionExpr *E) {
|
||||
CurDeclContext = P.CurDeclContext;
|
||||
ParsedExpr = E;
|
||||
}
|
||||
|
||||
@@ -3276,8 +3276,7 @@ ParserStatus Parser::parseExprListElement(tok rightTok, bool isArgumentList, Sou
|
||||
// Handle call arguments specially because it may need argument labels.
|
||||
auto CCExpr = new (Context) CodeCompletionExpr(Tok.getLoc());
|
||||
if (this->CodeCompletionCallbacks)
|
||||
this->CodeCompletionCallbacks->completeCallArg(CCExpr,
|
||||
PreviousLoc == leftLoc);
|
||||
this->CodeCompletionCallbacks->completeCallArg(CCExpr);
|
||||
consumeIf(tok::code_complete);
|
||||
elts.push_back({FieldNameLoc, FieldName, CCExpr});
|
||||
Status.setHasCodeCompletionAndIsError();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
// 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
|
||||
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t -disable-objc-attr-requires-foundation-module
|
||||
|
||||
// SE-0353
|
||||
struct ConstraintedExistentialTest {
|
||||
|
||||
@@ -38,7 +38,6 @@ struct Options {
|
||||
bool addInnerResults = false;
|
||||
bool addInnerOperators = true;
|
||||
bool addInitsToTopLevel = false;
|
||||
bool callPatternHeuristics = false;
|
||||
bool hideUnderscores = true;
|
||||
bool reallyHideAllUnderscores = false;
|
||||
bool hideLowPriority = true;
|
||||
|
||||
@@ -101,7 +101,6 @@ static void swiftCodeCompleteImpl(
|
||||
CompletionContext.setAnnotateResult(opts.annotatedDescription);
|
||||
CompletionContext.setIncludeObjectLiterals(opts.includeObjectLiterals);
|
||||
CompletionContext.setAddInitsToTopLevel(opts.addInitsToTopLevel);
|
||||
CompletionContext.setCallPatternHeuristics(opts.callPatternHeuristics);
|
||||
CompletionContext.setAddCallWithNoDefaultArgs(opts.addCallWithNoDefaultArgs);
|
||||
|
||||
Lang.performWithParamsToCompletionLikeOperation(
|
||||
@@ -722,7 +721,6 @@ static void translateCodeCompletionOptions(OptionsDictionary &from,
|
||||
static UIdent KeyAddInnerResults("key.codecomplete.addinnerresults");
|
||||
static UIdent KeyAddInnerOperators("key.codecomplete.addinneroperators");
|
||||
static UIdent KeyAddInitsToTopLevel("key.codecomplete.addinitstotoplevel");
|
||||
static UIdent KeyCallPatternHeuristics("key.codecomplete.callpatternheuristics");
|
||||
static UIdent KeyFuzzyMatching("key.codecomplete.fuzzymatching");
|
||||
static UIdent KeyTopNonLiteral("key.codecomplete.showtopnonliteralresults");
|
||||
static UIdent KeyContextWeight("key.codecomplete.sort.contextweight");
|
||||
@@ -747,7 +745,6 @@ static void translateCodeCompletionOptions(OptionsDictionary &from,
|
||||
from.valueForOption(KeyAddInnerResults, to.addInnerResults);
|
||||
from.valueForOption(KeyAddInnerOperators, to.addInnerOperators);
|
||||
from.valueForOption(KeyAddInitsToTopLevel, to.addInitsToTopLevel);
|
||||
from.valueForOption(KeyCallPatternHeuristics, to.callPatternHeuristics);
|
||||
from.valueForOption(KeyFuzzyMatching, to.fuzzyMatching);
|
||||
from.valueForOption(KeyContextWeight, to.semanticContextWeight);
|
||||
from.valueForOption(KeyFuzzyWeight, to.fuzzyMatchWeight);
|
||||
@@ -1103,7 +1100,6 @@ void SwiftLangSupport::codeCompleteOpen(
|
||||
unsigned maxResults = 0;
|
||||
CodeCompletion::Options CCOpts;
|
||||
// Enable "call pattern heuristics" by default for this API.
|
||||
CCOpts.callPatternHeuristics = true;
|
||||
if (options)
|
||||
translateCodeCompletionOptions(*options, CCOpts, filterText, resultOffset,
|
||||
maxResults);
|
||||
|
||||
@@ -407,11 +407,6 @@ static llvm::cl::opt<bool> CodeCompleteInitsInPostfixExpr(
|
||||
llvm::cl::desc(
|
||||
"Include initializers when completing a postfix expression"),
|
||||
llvm::cl::cat(Category));
|
||||
static llvm::cl::opt<bool> CodeCompleteCallPatternHeuristics(
|
||||
"code-complete-call-pattern-heuristics",
|
||||
llvm::cl::desc(
|
||||
"Use heuristics to guess whether we want call pattern completions"),
|
||||
llvm::cl::cat(Category));
|
||||
|
||||
static llvm::cl::opt<bool>
|
||||
DisableObjCAttrRequiresFoundationModule(
|
||||
@@ -1408,7 +1403,6 @@ doCodeCompletion(const CompilerInvocation &InitInvok, StringRef SourceFilename,
|
||||
bool CodeCompletionComments,
|
||||
bool CodeCompletionAnnotateResults,
|
||||
bool CodeCompletionAddInitsToTopLevel,
|
||||
bool CodeCompletionCallPatternHeuristics,
|
||||
bool CodeCompletionAddCallWithNoDefaultArgs,
|
||||
bool CodeCompletionSourceText) {
|
||||
std::unique_ptr<ide::OnDiskCodeCompletionCache> OnDiskCache;
|
||||
@@ -1420,7 +1414,6 @@ doCodeCompletion(const CompilerInvocation &InitInvok, StringRef SourceFilename,
|
||||
ide::CodeCompletionContext CompletionContext(CompletionCache);
|
||||
CompletionContext.setAnnotateResult(CodeCompletionAnnotateResults);
|
||||
CompletionContext.setAddInitsToTopLevel(CodeCompletionAddInitsToTopLevel);
|
||||
CompletionContext.setCallPatternHeuristics(CodeCompletionCallPatternHeuristics);
|
||||
CompletionContext.setAddCallWithNoDefaultArgs(
|
||||
CodeCompletionAddCallWithNoDefaultArgs);
|
||||
|
||||
@@ -1451,7 +1444,6 @@ static int doBatchCodeCompletion(const CompilerInvocation &InitInvok,
|
||||
bool CodeCompletionComments,
|
||||
bool CodeCompletionAnnotateResults,
|
||||
bool CodeCompletionAddInitsToTopLevel,
|
||||
bool CodeCompletionCallPatternHeuristics,
|
||||
bool CodeCompletionAddCallWithNoDefaultArgs,
|
||||
bool CodeCompletionSourceText) {
|
||||
auto FileBufOrErr = llvm::MemoryBuffer::getFile(SourceFilename);
|
||||
@@ -1580,8 +1572,6 @@ static int doBatchCodeCompletion(const CompilerInvocation &InitInvok,
|
||||
ide::CodeCompletionContext CompletionContext(CompletionCache);
|
||||
CompletionContext.setAnnotateResult(CodeCompletionAnnotateResults);
|
||||
CompletionContext.setAddInitsToTopLevel(CodeCompletionAddInitsToTopLevel);
|
||||
CompletionContext.setCallPatternHeuristics(
|
||||
CodeCompletionCallPatternHeuristics);
|
||||
CompletionContext.setAddCallWithNoDefaultArgs(
|
||||
CodeCompletionAddCallWithNoDefaultArgs);
|
||||
|
||||
@@ -4640,7 +4630,6 @@ int main(int argc, char *argv[]) {
|
||||
options::CodeCompletionKeywords, options::CodeCompletionComments,
|
||||
options::CodeCompletionAnnotateResults,
|
||||
options::CodeCompleteInitsInPostfixExpr,
|
||||
options::CodeCompleteCallPatternHeuristics,
|
||||
options::CodeCompletionAddCallWithNoDefaultArgs,
|
||||
options::CodeCompletionSourceText);
|
||||
break;
|
||||
@@ -4656,7 +4645,6 @@ int main(int argc, char *argv[]) {
|
||||
options::CodeCompletionKeywords, options::CodeCompletionComments,
|
||||
options::CodeCompletionAnnotateResults,
|
||||
options::CodeCompleteInitsInPostfixExpr,
|
||||
options::CodeCompleteCallPatternHeuristics,
|
||||
options::CodeCompletionAddCallWithNoDefaultArgs,
|
||||
options::CodeCompletionSourceText);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user