llvm-project/clang/test/CodeCompletion
Adam Czachorowski 55a79318c6 [clang][clangd] Improve signature help for variadic functions.
This covers both C-style variadic functions and template variadic w/
parameter packs.

Previously we would return no signatures when working with template
variadic functions once activeParameter reached the position of the
parameter pack (except when it was the only param, then we'd still
show it when no arguments were given). With this commit, we now show
signathure help correctly.

Additionally, this commit fixes the activeParameter value in LSP output
of clangd in the presence of variadic functions (both kinds). LSP does
not allow the activeParamter to be higher than the number of parameters
in the active signature. With "..." or parameter pack being just one
argument, for all but first argument passed to "..." we'd report
incorrect activeParameter value. Clients such as VSCode would then treat
it as 0, as suggested in the spec) and highlight the wrong parameter.

In the future, we should add support for per-signature activeParamter
value, which exists in LSP since 3.16.0. This is not part of this
commit.

Differential Revision: https://reviews.llvm.org/D111318
2021-11-18 15:50:47 +01:00
..
Inputs
PR9728.cpp
accessibility-crash.cpp
accessibility.cpp
after-function-equals.cpp [CodeComplete] Add code completion after function equals 2020-07-01 12:51:25 +08:00
attr.cpp [CodeCompletion] Provide placeholders for known attribute arguments 2021-08-19 14:03:41 +02:00
auto.cpp
auto_type.c
bracket-decl.c
call.c
call.cpp [clang] Make signature help work with dependent args 2020-08-17 10:06:36 +02:00
comments.cpp
concepts.cpp [CodeComplete] Member completion for concept-constrained types. 2020-03-31 18:43:24 +02:00
constexpr.cpp
crash-func-decl.cpp
crash-func-init.cpp
crash-if-directive.cpp [clang][PreProcessor] Cutoff parsing after hitting completion point 2021-05-10 11:24:27 +02:00
crash-null-type.cpp
crash-skipped-bodies-template-inst.cpp
ctor-initializer.cpp
ctor-signature.cpp [clang][CodeComplete] Propogate printing policy to FunctionDecl 2020-01-20 12:20:20 +01:00
desig-init.cpp [CodeCompletion] Avoid spurious signature help for init-list args 2021-03-16 12:46:40 +01:00
documentation.cpp
documentation.m
enable-if-attr-crash.cpp
end-of-file.cpp
end-of-ident-macro.cpp
end-of-ident.cpp
enum-preferred-type.cpp
enum-switch-case-qualified.cpp
enum-switch-case.c
enum-switch-case.cpp
function-overloads.cpp [clang][CodeComplete] Fix crash on ParenListExprs 2021-02-08 13:16:49 +01:00
function-templates.cpp [clangd] Show lambda signature for lambda autocompletions 2019-11-22 12:48:06 +01:00
functions.cpp
ignore-ns-level-decls.cpp
included-files.cpp [CodeCompletion] Generally consider header files without extension 2021-11-10 08:22:48 +01:00
included-frameworks.m
included-symlinks.cpp Another fix for 7d91633a2b 2020-02-19 17:15:11 -05:00
incomplete-member.cpp [clang][CodeComplete] Dont perform fallback completion for incomplete member ref 2020-04-06 20:08:24 +02:00
incomplete-ret-type.cpp
inside-macros.cpp
invalid-initialized-class.cpp [AST] Dont invalide VarDecl even the default initializaiton is failed. 2020-04-14 12:58:48 +02:00
keywords.cpp [CodeComplete] Add semicolon when completing patterns for 'static_assert' and 'typedef 2019-05-29 15:32:17 +00:00
lambdas.cpp [clangd] Show lambda signature for lambda autocompletions 2019-11-22 12:48:06 +01:00
macros-in-modules.c
macros-in-modules.m
macros.c
member-access-qualifiers.cpp [CodeComplete] Ensure object is the same in compareOverloads() 2019-10-04 08:10:27 +00:00
member-access.c [clang][CodeComplete] Fix crash on ParenListExprs 2021-02-08 13:16:49 +01:00
member-access.cpp [CodeComplete] Member completion: heuristically resolve some dependent base exprs 2021-02-11 11:03:40 +01:00
namespace-alias.cpp
namespace.cpp
nested-name-specifier.cpp
objc-expr.m
objc-member-access.m [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits 2020-06-08 12:46:00 -04:00
objc-message.m
objc-message.mm
objc-protocol-member-access.m
operator.cpp
ordinary-name-cxx11.cpp [CodeComplete] Add code completion for using alias. 2020-06-26 15:55:45 +02:00
ordinary-name.c
ordinary-name.cpp [CodeComplete] Add code completion for using alias. 2020-06-26 15:55:45 +02:00
overrides.cpp [CodeComplete] Filter override completions by function name 2019-05-24 10:18:39 +00:00
paren_locs.cpp
patterns.cpp [CodeComplete] Tweak completion for else. 2020-06-30 16:48:24 +01:00
pch-and-module.m
pragma-macro-token-caching.c Diagnose -Wunused-value based on CFG reachability 2021-09-28 10:00:15 -07:00
preamble.c
preferred-type.cpp
qualifiers-as-written.cpp
self-inits.cpp
signatures-crash.cpp
skip-auto-funcs.cpp
some_struct.h
stdin.c
tag.c
tag.cpp
templates.cpp [CodeComplete] Constructor overload candidates report as vector(int) instead of vector<string>(int) 2019-11-15 15:42:18 +01:00
this-quals.cpp
truncation.c
truncation.c.h
uninstantiated_params.cpp
using-namespace.cpp
using.cpp
variadic-template.cpp [clang][clangd] Improve signature help for variadic functions. 2021-11-18 15:50:47 +01:00