[Lldb-commits] [lldb] [lldb] Revert custom __str__ in SBStructuredDataExtensions.i (PR #156721)
Dave Lee via lldb-commits
lldb-commits at lists.llvm.org
Wed Sep 3 10:37:26 PDT 2025
https://github.com/kastiglione created https://github.com/llvm/llvm-project/pull/156721
None
>From 3aa17b0109bf625bc73d7b4713b526f95f5f0d9c Mon Sep 17 00:00:00 2001
From: Dave Lee <davelee.com at gmail.com>
Date: Wed, 3 Sep 2025 10:28:58 -0700
Subject: [PATCH] [lldb] Revert custom __str__ in SBStructuredDataExtensions.i
---
lldb/bindings/interface/SBStructuredDataExtensions.i | 12 ------------
.../sbstructureddata/TestStructuredDataAPI.py | 11 +++--------
2 files changed, 3 insertions(+), 20 deletions(-)
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()
More information about the lldb-commits
mailing list