diff options
author | Mythreya <git@mythreya.dev> | 2025-07-01 05:33:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-01 08:33:56 -0400 |
commit | d9d9ab869817d6448949886f89032b06cddf63d4 (patch) | |
tree | 0746be34cdc43b2ba33dd56ce9663f4f72fb9821 /clang/lib/Sema/SemaCodeComplete.cpp | |
parent | b8b74945514358f1ebeac0874172f37fc7bfa38e (diff) | |
download | llvm-d9d9ab869817d6448949886f89032b06cddf63d4.zip llvm-d9d9ab869817d6448949886f89032b06cddf63d4.tar.gz llvm-d9d9ab869817d6448949886f89032b06cddf63d4.tar.bz2 |
[clang][CodeComplete] skip explicit obj param in code completion string (#146258)
Fixes clangd/clangd#2339
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 78d4586..b5d4a94 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -3260,6 +3260,13 @@ static void AddFunctionParameterChunks(Preprocessor &PP, break; } + // C++23 introduces an explicit object parameter, a.k.a. "deducing this" + // Skip it for autocomplete and treat the next parameter as the first + // parameter + if (FirstParameter && Param->isExplicitObjectParameter()) { + continue; + } + if (FirstParameter) FirstParameter = false; else |