aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2024-03-12 22:19:27 +0000
committerGitHub <noreply@github.com>2024-03-12 22:19:27 +0000
commit88bf64097e453deca73c91ec7de1af7eebe296a9 (patch)
treea63dfbce2777b8d4fb5a706756451ca5b8ed70fb
parentbeb47e78be6a819b6501f99302c1c4c1ae84b90e (diff)
downloadllvm-88bf64097e453deca73c91ec7de1af7eebe296a9.zip
llvm-88bf64097e453deca73c91ec7de1af7eebe296a9.tar.gz
llvm-88bf64097e453deca73c91ec7de1af7eebe296a9.tar.bz2
[lldb][test] TestExprCompletion.py: add tests for completion of reserved identifiers (#84890)
-rw-r--r--lldb/test/API/commands/expression/completion/Makefile1
-rw-r--r--lldb/test/API/commands/expression/completion/TestExprCompletion.py5
-rw-r--r--lldb/test/API/commands/expression/completion/main.cpp5
-rw-r--r--lldb/test/API/commands/expression/completion/sys/reserved.h8
4 files changed, 19 insertions, 0 deletions
diff --git a/lldb/test/API/commands/expression/completion/Makefile b/lldb/test/API/commands/expression/completion/Makefile
index 020dce7..9882622 100644
--- a/lldb/test/API/commands/expression/completion/Makefile
+++ b/lldb/test/API/commands/expression/completion/Makefile
@@ -1,3 +1,4 @@
CXX_SOURCES := main.cpp other.cpp
+CXXFLAGS += -isystem $(SRCDIR)/sys
include Makefile.rules
diff --git a/lldb/test/API/commands/expression/completion/TestExprCompletion.py b/lldb/test/API/commands/expression/completion/TestExprCompletion.py
index c6a1e3c..022b943 100644
--- a/lldb/test/API/commands/expression/completion/TestExprCompletion.py
+++ b/lldb/test/API/commands/expression/completion/TestExprCompletion.py
@@ -246,6 +246,11 @@ class CommandLineExprCompletionTestCase(TestBase):
"expr some_expr.Self(). FooNoArgs", "expr some_expr.Self(). FooNoArgsBar()"
)
+ self.complete_from_to("expr myVec.__f", "expr myVec.__func()")
+ self.complete_from_to("expr myVec._F", "expr myVec._Func()")
+ self.complete_from_to("expr myVec.__m", "expr myVec.__mem")
+ self.complete_from_to("expr myVec._M", "expr myVec._Mem")
+
def test_expr_completion_with_descriptions(self):
self.build()
self.main_source = "main.cpp"
diff --git a/lldb/test/API/commands/expression/completion/main.cpp b/lldb/test/API/commands/expression/completion/main.cpp
index 908bebbeb..5e03805 100644
--- a/lldb/test/API/commands/expression/completion/main.cpp
+++ b/lldb/test/API/commands/expression/completion/main.cpp
@@ -1,3 +1,5 @@
+#include <reserved.h>
+
namespace LongNamespaceName { class NestedClass { long m; }; }
// Defined in other.cpp, we only have a forward declaration here.
@@ -31,5 +33,8 @@ int main()
some_expr.FooNumbersBar1();
Expr::StaticMemberMethodBar();
ForwardDecl *fwd_decl_ptr = &fwd_decl;
+ MyVec myVec;
+ myVec.__func();
+ myVec._Func();
return 0; // Break here
}
diff --git a/lldb/test/API/commands/expression/completion/sys/reserved.h b/lldb/test/API/commands/expression/completion/sys/reserved.h
new file mode 100644
index 0000000..0ce10ebe
--- /dev/null
+++ b/lldb/test/API/commands/expression/completion/sys/reserved.h
@@ -0,0 +1,8 @@
+class MyVec {
+ int __mem;
+ int _Mem;
+
+public:
+ void __func() {}
+ void _Func() {}
+};