[clangd] Remove some old CodeCompletion options that are never (un)set. NFC

This commit is contained in:
Sam McCall 2021-01-13 18:01:11 +01:00
parent a4f3866882
commit 0bbc6a6bb6
3 changed files with 7 additions and 25 deletions

View File

@ -277,7 +277,7 @@ struct CodeCompletionBuilder {
CodeCompletionContext::Kind ContextKind,
const CodeCompleteOptions &Opts,
bool IsUsingDeclaration, tok::TokenKind NextTokenKind)
: ASTCtx(ASTCtx), ExtractDocumentation(Opts.IncludeComments),
: ASTCtx(ASTCtx),
EnableFunctionArgSnippets(Opts.EnableFunctionArgSnippets),
IsUsingDeclaration(IsUsingDeclaration), NextTokenKind(NextTokenKind) {
add(C, SemaCCS);
@ -393,7 +393,7 @@ struct CodeCompletionBuilder {
S.SnippetSuffix = std::string(C.IndexResult->CompletionSnippetSuffix);
S.ReturnType = std::string(C.IndexResult->ReturnType);
}
if (ExtractDocumentation && !Completion.Documentation) {
if (!Completion.Documentation) {
auto SetDoc = [&](llvm::StringRef Doc) {
if (!Doc.empty()) {
Completion.Documentation.emplace();
@ -512,7 +512,6 @@ private:
ASTContext *ASTCtx;
CodeCompletion Completion;
llvm::SmallVector<BundledEntry, 1> Bundled;
bool ExtractDocumentation;
bool EnableFunctionArgSnippets;
// No snippets will be generated for using declarations and when the function
// arguments are already present.
@ -1765,8 +1764,8 @@ private:
clang::CodeCompleteOptions CodeCompleteOptions::getClangCompleteOpts() const {
clang::CodeCompleteOptions Result;
Result.IncludeCodePatterns = EnableSnippets && IncludeCodePatterns;
Result.IncludeMacros = IncludeMacros;
Result.IncludeCodePatterns = EnableSnippets;
Result.IncludeMacros = true;
Result.IncludeGlobals = true;
// We choose to include full comments and not do doxygen parsing in
// completion.

View File

@ -50,17 +50,6 @@ struct CodeCompleteOptions {
/// b})).
bool EnableSnippets = false;
/// Add code patterns to completion results.
/// If EnableSnippets is false, this options is ignored and code patterns will
/// always be omitted.
bool IncludeCodePatterns = true;
/// Add macros to code completion results.
bool IncludeMacros = true;
/// Add comments to code completion results, if available.
bool IncludeComments = true;
/// Include results that are not legal completions in the current context.
/// For example, private members are usually inaccessible.
bool IncludeIneligibleResults = false;

View File

@ -315,8 +315,7 @@ void testAfterDotCompletion(clangd::CodeCompleteOptions Opts) {
EXPECT_THAT(Results.Completions,
Not(Contains(Kind(CompletionItemKind::Snippet))));
// Check documentation.
EXPECT_IFF(Opts.IncludeComments, Results.Completions,
Contains(IsDocumented()));
EXPECT_THAT(Results.Completions, Contains(IsDocumented()));
}
void testGlobalScopeCompletion(clangd::CodeCompleteOptions Opts) {
@ -356,14 +355,13 @@ void testGlobalScopeCompletion(clangd::CodeCompleteOptions Opts) {
Has("index_func" /* our fake symbol doesn't include () */),
Has("GlobalClass"), Has("IndexClass")));
// A macro.
EXPECT_IFF(Opts.IncludeMacros, Results.Completions, Has("MACRO"));
EXPECT_THAT(Results.Completions, Has("MACRO"));
// Local items. Must be present always.
EXPECT_THAT(Results.Completions,
AllOf(Has("local_var"), Has("LocalClass"),
Contains(Kind(CompletionItemKind::Snippet))));
// Check documentation.
EXPECT_IFF(Opts.IncludeComments, Results.Completions,
Contains(IsDocumented()));
EXPECT_THAT(Results.Completions, Contains(IsDocumented()));
}
TEST(CompletionTest, CompletionOptions) {
@ -373,9 +371,6 @@ TEST(CompletionTest, CompletionOptions) {
};
// We used to test every combination of options, but that got too slow (2^N).
auto Flags = {
&clangd::CodeCompleteOptions::IncludeMacros,
&clangd::CodeCompleteOptions::IncludeComments,
&clangd::CodeCompleteOptions::IncludeCodePatterns,
&clangd::CodeCompleteOptions::IncludeIneligibleResults,
};
// Test default options.
@ -1686,7 +1681,6 @@ TEST(CompletionTest, DocumentationFromChangedFileCrash) {
)cpp";
clangd::CodeCompleteOptions Opts;
Opts.IncludeComments = true;
CodeCompleteResult Completions =
cantFail(runCodeComplete(Server, FooCpp, Source.point(), Opts));
// We shouldn't crash. Unfortunately, current workaround is to not produce