[Lldb-commits] [lldb] [lldb] Revert custom __str__ in SBStructuredDataExtensions.i (PR #156721)

via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 3 10:38:02 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Dave Lee (kastiglione)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/156721.diff


2 Files Affected:

- (modified) lldb/bindings/interface/SBStructuredDataExtensions.i (-12) 
- (modified) lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py (+3-8) 


``````````diff
diff --git a/lldb/bindings/interface/SBStructuredDataExtensions.i b/lldb/bindings/interface/SBStructuredDataExtensions.i
index 6c452a0da3852..9def366a4cf11 100644
--- a/lldb/bindings/interface/SBStructuredDataExtensions.i
+++ b/lldb/bindings/interface/SBStructuredDataExtensions.i
@@ -52,18 +52,6 @@ STRING_EXTENSION_OUTSIDE(SBStructuredData)
         else:
             raise TypeError("cannot convert generic to bool")
 
-    def __str__(self):
-        data_type = self.GetType()
-        if data_type in (
-            eStructuredDataTypeString,
-            eStructuredDataTypeInteger,
-            eStructuredDataTypeSignedInteger,
-            eStructuredDataTypeFloat,
-        ):
-            return str(self.dynamic)
-        else:
-            raise TypeError(f"cannot convert {self.type_name(data_type)} to string")
-
     def __int__(self):
         data_type = self.GetType()
         if data_type in (
diff --git a/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py b/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py
index 6c00588636516..275ac03a5a86d 100644
--- a/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py
+++ b/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py
@@ -48,6 +48,8 @@ def structured_data_api_test(self):
         s.Clear()
         error = example.GetDescription(s)
         self.assertSuccess(error, "GetDescription works")
+        # Ensure str() doesn't raise an exception.
+        self.assertTrue(str(example))
         if not "key_float" in s.GetData():
             self.fail("FAILED: could not find key_float in description output")
 
@@ -344,7 +346,7 @@ def array_struct_test(self, dict_struct):
             self.fail("wrong output: " + str(output))
 
     def test_round_trip_scalars(self):
-        for original in (0, 11, -1, 0.0, 4.5, -0.25, "", "dirk", True, False):
+        for original in (0, 11, -1, 0.0, 4.5, -0.25, True, False):
             constructor = type(original)
             data = lldb.SBStructuredData()
             data.SetFromJSON(json.dumps(original))
@@ -357,13 +359,6 @@ def test_dynamic(self):
             data.SetFromJSON(json.dumps(original))
             self.assertEqual(data.dynamic, original)
 
-    def test_round_trip_string(self):
-        # No 0.0, it inherently does not round trip.
-        for original in (0, 11, -1, 4.5, -0.25, "", "dirk"):
-            data = lldb.SBStructuredData()
-            data.SetFromJSON(json.dumps(original))
-            self.assertEqual(str(data), str(original))
-
     def test_round_trip_int(self):
         for original in (0, 11, -1):
             data = lldb.SBStructuredData()

``````````

</details>


https://github.com/llvm/llvm-project/pull/156721


More information about the lldb-commits mailing list