[clang-tools-extra] [WIP] Add a unit test for issue 141291 (PR #152962)
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 11 00:26:58 PDT 2025
https://github.com/HighCommander4 updated https://github.com/llvm/llvm-project/pull/152962
>From 44d9772f6b7bbf8f522e632989378d651848e64a Mon Sep 17 00:00:00 2001
From: Nathan Ridge <zeratul976 at hotmail.com>
Date: Mon, 11 Aug 2025 03:18:46 -0400
Subject: [PATCH] [WIP] Add a unit test for issue 141291
---
.../clangd/unittests/CodeCompleteTests.cpp | 28 +++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
index 5a5d815076e2a..cf0c0e4252ac2 100644
--- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
@@ -4394,6 +4394,34 @@ TEST(CompletionTest, SkipExplicitObjectParameter) {
ElementsAre(AllOf(named("foo"), signature("(int arg)"),
snippetSuffix("(${1:int arg})"))));
}
+
+TEST(CompletionTest, MemberAccessInExplicitObjMemfn) {
+ Annotations Code(R"cpp(
+ struct A {
+ int member;
+ void foo(this A& self) {
+ // Should not offer `member` here, since it needs to be
+ // referenced as `self.member`.
+ mem^
+ }
+ };
+ )cpp");
+
+ auto TU = TestTU::withCode(Code.code());
+ TU.ExtraArgs = {"-std=c++23"};
+
+ auto Preamble = TU.preamble();
+ ASSERT_TRUE(Preamble);
+
+ CodeCompleteOptions Opts{};
+
+ MockFS FS;
+ auto Inputs = TU.inputs(FS);
+ auto Result = codeComplete(testPath(TU.Filename), Code.point(),
+ Preamble.get(), Inputs, Opts);
+
+ EXPECT_THAT(Result.Completions, ElementsAre());
+}
} // namespace
} // namespace clangd
} // namespace clang
More information about the cfe-commits
mailing list