[Lldb-commits] [lldb] [LLDB] Add formatters for MSVC STL map-like types (PR #148385)
via lldb-commits
lldb-commits at lists.llvm.org
Sat Jul 12 10:19:39 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h,cpp -- lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/main.cpp lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/set/main.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
index 0530a3c30..ddf6c27a3 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
@@ -58,7 +58,7 @@ public:
if (!m_entry_sp)
return m_entry_sp;
return m_entry_sp->GetSyntheticChildAtOffset(
- m_entry_sp->GetProcessSP()->GetAddressByteSize(),
+ m_entry_sp->GetProcessSP()->GetAddressByteSize(),
m_entry_sp->GetCompilerType(), true);
}
@@ -132,7 +132,8 @@ private:
}
size_t steps = 0;
MapEntry pnode(m_entry.parent());
- while(!pnode.is_nil() && m_entry.value() == MapEntry(pnode.right()).value()) {
+ while (!pnode.is_nil() &&
+ m_entry.value() == MapEntry(pnode.right()).value()) {
m_entry = pnode;
steps++;
if (steps > m_max_depth) {
@@ -144,7 +145,8 @@ private:
m_entry = std::move(pnode);
}
- /// Mimicks MSVC STL's _Min() algorithm (finding the leftmost node in the subtree).
+ /// Mimicks MSVC STL's _Min() algorithm (finding the leftmost node in the
+ /// subtree).
MapEntry tree_min(MapEntry pnode) {
if (pnode.is_nullptr())
return MapEntry();
@@ -195,7 +197,7 @@ private:
/// \param[in] max_depth The maximum search depth after which we stop trying
/// to find the node for.
///
- /// \returns On success, returns the ValueObjectSP corresponding to the
+ /// \returns On success, returns the ValueObjectSP corresponding to the
/// _Tree_node's _Myval member.
/// On failure, nullptr is returned.
ValueObjectSP GetValueAt(size_t idx, size_t max_depth);
@@ -208,7 +210,8 @@ private:
class MsvcStlTreeIterSyntheticFrontEnd : public SyntheticChildrenFrontEnd {
public:
- MsvcStlTreeIterSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp): SyntheticChildrenFrontEnd(*valobj_sp) {}
+ MsvcStlTreeIterSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp)
+ : SyntheticChildrenFrontEnd(*valobj_sp) {}
llvm::Expected<uint32_t> CalculateNumChildren() override {
if (!m_inner_sp)
@@ -230,9 +233,7 @@ public:
return m_inner_sp->GetIndexOfChildWithName(name);
}
- lldb::ValueObjectSP GetSyntheticValue() override {
- return m_inner_sp;
- }
+ lldb::ValueObjectSP GetSyntheticValue() override { return m_inner_sp; }
private:
ValueObjectSP m_inner_sp;
@@ -248,8 +249,8 @@ lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::
Update();
}
-llvm::Expected<uint32_t> lldb_private::formatters::
- MsvcStlTreeSyntheticFrontEnd::CalculateNumChildren() {
+llvm::Expected<uint32_t>
+lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::CalculateNumChildren() {
if (m_count != UINT32_MAX)
return m_count;
@@ -324,7 +325,8 @@ lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::Update() {
m_count = UINT32_MAX;
m_tree = m_begin_node = nullptr;
m_iterators.clear();
- m_tree = m_backend.GetChildAtNamePath({"_Mypair", "_Myval2", "_Myval2"}).get();
+ m_tree =
+ m_backend.GetChildAtNamePath({"_Mypair", "_Myval2", "_Myval2"}).get();
if (!m_tree)
return lldb::ChildCacheState::eRefetch;
@@ -333,8 +335,9 @@ lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::Update() {
return lldb::ChildCacheState::eRefetch;
}
-llvm::Expected<size_t> lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::
- GetIndexOfChildWithName(ConstString name) {
+llvm::Expected<size_t>
+lldb_private::formatters::MsvcStlTreeSyntheticFrontEnd::GetIndexOfChildWithName(
+ ConstString name) {
auto optional_idx = formatters::ExtractIndexFromString(name.GetCString());
if (!optional_idx) {
return llvm::createStringError("Type has no child named '%s'",
@@ -361,12 +364,12 @@ bool formatters::IsMsvcStlTreeIter(ValueObject &valobj) {
return valobj.GetChildMemberWithName("_Ptr") != nullptr;
}
-bool formatters::MsvcStlTreeIterSummaryProvider(ValueObject &valobj, Stream &stream,
- const TypeSummaryOptions &options) {
- auto valobj_sp = valobj.GetNonSyntheticValue();
- if (!valobj_sp)
- return false;
-auto node_sp = valobj_sp->GetChildMemberWithName("_Ptr");
+bool formatters::MsvcStlTreeIterSummaryProvider(
+ ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options) {
+ auto valobj_sp = valobj.GetNonSyntheticValue();
+ if (!valobj_sp)
+ return false;
+ auto node_sp = valobj_sp->GetChildMemberWithName("_Ptr");
if (!node_sp)
return false;
@@ -380,17 +383,17 @@ auto node_sp = valobj_sp->GetChildMemberWithName("_Ptr");
if (!value_sp)
return false;
- auto* summary = value_sp->GetSummaryAsCString();
+ auto *summary = value_sp->GetSummaryAsCString();
if (summary)
stream << summary;
return true;
}
-
SyntheticChildrenFrontEnd *
-lldb_private::formatters::MsvcStlTreeIterSyntheticFrontEndCreator(CXXSyntheticChildren *,
- lldb::ValueObjectSP valobj_sp) {
- return (valobj_sp ? new MsvcStlTreeIterSyntheticFrontEnd(valobj_sp) : nullptr);
+lldb_private::formatters::MsvcStlTreeIterSyntheticFrontEndCreator(
+ CXXSyntheticChildren *, lldb::ValueObjectSP valobj_sp) {
+ return (valobj_sp ? new MsvcStlTreeIterSyntheticFrontEnd(valobj_sp)
+ : nullptr);
}
bool formatters::IsMsvcStlMapLike(ValueObject &valobj) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/148385
More information about the lldb-commits
mailing list