[Lldb-commits] [lldb] [LLDB] Fix crash when using tab completion on class variables (PR #83234)
Sudharsan Veeravalli via lldb-commits
lldb-commits at lists.llvm.org
Wed Feb 28 01:11:47 PST 2024
https://github.com/svs-quic updated https://github.com/llvm/llvm-project/pull/83234
>From cf1359a825b09d48c312ce40da950c13f30c67c8 Mon Sep 17 00:00:00 2001
From: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: Wed, 28 Feb 2024 13:46:46 +0530
Subject: [PATCH] [LLDB] Fix crash when using tab completion on class variables
---
lldb/source/Symbol/Variable.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lldb/source/Symbol/Variable.cpp b/lldb/source/Symbol/Variable.cpp
index 2bb2ff7db4b721..a33c3433d9e245 100644
--- a/lldb/source/Symbol/Variable.cpp
+++ b/lldb/source/Symbol/Variable.cpp
@@ -509,15 +509,17 @@ static void PrivateAutoCompleteMembers(
CompilerType member_compiler_type = compiler_type.GetFieldAtIndex(
i, member_name, nullptr, nullptr, nullptr);
- if (partial_member_name.empty() ||
- llvm::StringRef(member_name).starts_with(partial_member_name)) {
+ if (partial_member_name.empty()) {
+ request.AddCompletion((prefix_path + member_name).str());
+ } else if (llvm::StringRef(member_name)
+ .starts_with(partial_member_name)) {
if (member_name == partial_member_name) {
PrivateAutoComplete(
frame, partial_path,
prefix_path + member_name, // Anything that has been resolved
// already will be in here
member_compiler_type.GetCanonicalType(), request);
- } else {
+ } else if (partial_path.empty()) {
request.AddCompletion((prefix_path + member_name).str());
}
}
More information about the lldb-commits
mailing list