summaryrefslogtreecommitdiff
path: root/lldb/test/API/functionalities/data-formatter/root-reference-children
AgeCommit message (Collapse)Author
2025-03-17[lldb] Support ordered patterns in lldbtest.expect (#131475)Dave Lee
Change `lldbtest.expect` to require the regexes in `patterns` be found in order – when the `ordered` parameter is true. This matches the behavior of `substrs`. The `ordered` parameter is true by default, so this change also fixes tests by either tweaking the patterns to work in order, or by setting `ordered=False`. I have often wanted to test with `patterns` and also verify the order. This change allows that.
2023-05-30[lldb] Consult summary provider before printing children of root referencesDave Lee
When printing the root of a value, if it's a reference its children are unconditionally printed - in contrast to pointers whose children are only printed if a sufficient pointer depth is given. However, the children are printed even when there's a summary provider that says not to. If a summary provider exists, this change consults it to determine if children should be printed. For example, given a variable of type `std::string &`, this change has the following effect: Before: ``` (lldb) p string_ref (std::string &) string_ref = "one two three four five six seven eight nine ten": { __r_ = { std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false> = { __value_ = { = { __l = (__data_ = "one two three four five six seven eight nine ten", __size_ = 48, __cap_ = 64, __is_long_ = 1) __s = (__data_ = "@\0p\U00000001\0`\0\00\0\0\0\0\0\0\0@", __padding_ = "\x80t<", __size_ = '\0', __is_long_ = '\x01') __r = { __words ={...} } } } } } } ``` After: ``` (lldb) p string_ref (std::string &) string_ref = "one two three four five six seven eight nine ten" ``` rdar://73248786 Differential Revision: https://reviews.llvm.org/D151748