[Lldb-commits] [PATCH] D73506: Bug fix
Héctor Luis Díaz Aceves via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jan 27 14:43:15 PST 2020
diazhector98 updated this revision to Diff 240687.
diazhector98 added a comment.
1. Updating D73506 <https://reviews.llvm.org/D73506>: Bug fix #
2. Enter a brief description of the changes included in this update.
3. The first line is used as subject, next lines as comment. #
4. If you intended to create a new revision, use:
5. $ arc diff --create
Syntax fixes and uncommenting @darwin
As title
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73506/new/
https://reviews.llvm.org/D73506
Files:
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/TestVSCode_completions.py
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/main.cpp
lldb/tools/lldb-vscode/lldb-vscode.cpp
Index: lldb/tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- lldb/tools/lldb-vscode/lldb-vscode.cpp
+++ lldb/tools/lldb-vscode/lldb-vscode.cpp
@@ -951,9 +951,26 @@
for (size_t i = 0; i < count; i++) {
std::string match = matches.GetStringAtIndex(i);
std::string description = descriptions.GetStringAtIndex(i);
-
+
llvm::json::Object item;
- EmplaceSafeString(item, "text", match);
+
+ std::vector<std::string> commit_points = {".", "->"};
+ int breakpoint_index = -1;
+ std::string breakpoint_string = "";
+ for (std::string breakpoint : breakpoints) {
+ int breakpoint_position = match.rfind(breakpoint);
+ if (max_breakpoint_position < breakpoint_position){
+ breakpoint_string = breakpoint;
+ max_breakpoint_position = breakpoint_position;
+ }
+ }
+ if (max_breakpoint_position != -1) {
+ std::string cut_match = match.substr(max_breakpoint_position + breakpoint_string.length(), match.length() - max_breakpoint_position);
+ EmplaceSafeString(item, "text", cut_match);
+ } else {
+ EmplaceSafeString(item, "text", match);
+ }
+
if (description.empty())
EmplaceSafeString(item, "label", match);
else
Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/main.cpp
===================================================================
--- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/main.cpp
+++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/main.cpp
@@ -1,6 +1,17 @@
#include <string>
#include <vector>
+struct bar {
+ int var1;
+};
+
+struct foo {
+ int var1;
+ bar* my_bar_pointer;
+ bar my_bar_object;
+ foo* next_foo;
+};
+
int fun(std::vector<std::string> var) {
return var.size(); // breakpoint 1
}
@@ -12,5 +23,8 @@
std::string str2 = "b";
std::vector<std::string> vec;
fun(vec);
+ bar bar1 = {2};
+ bar* bar2 = &bar1;
+ foo foo1 = {3,&bar1, bar1, NULL};
return 0; // breakpoint 2
}
Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/TestVSCode_completions.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/TestVSCode_completions.py
+++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/completions/TestVSCode_completions.py
@@ -113,3 +113,23 @@
}
],
)
+
+ self.verify_completions(
+ self.vscode.get_completions("foo1.v"),
+ [
+ {
+ "text": "var1",
+ "label": "foo1.var1 -- int"
+ }
+ ]
+ )
+
+ self.verify_completions(
+ self.vscode.get_completions("foo1.my_bar_object->v"),
+ [
+ {
+ "text": "var1",
+ "label": "foo1.my_bar_object.var1 -- int"
+ }
+ ]
+ )
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73506.240687.patch
Type: text/x-patch
Size: 3009 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200127/f8ebb116/attachment.bin>
More information about the lldb-commits
mailing list