Dave Lee
d289ff761b
[lldb] Reland: Add Pythonic API to SBStructuredData extension ( #156771 )
...
* Adds `dynamic` property to automatically convert `SBStructuredData`
instances to the associated Python type (`str`, `int`, `float`, `bool`,
`NoneType`, etc)
* Implements `__getitem__` for Pythonic array and dictionary
subscripting
* Subscripting return the result of the `dynamic` property
* Updates `__iter__` to support dictionary instances (supporting `for`
loops)
* Adds `__str__`, `__int__`, and `__float__`
With these changes, these two expressions are equal:
```py
data["name"] == data.GetValueForKey("name").GetStringValue(1024)
```
**Note**: Unlike the original commit (#155061 ), this re-commit removes
the `__bool__` implementation, which broke crashlog. Somewhere in the
crashlog execution, it depends on `__bool__` meaning only `IsValid()`.
Additionally did some cleanup in TestStructuredDataAPI.py.
2025-09-04 08:34:34 -07:00
..
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2024-05-30 10:38:21 -07:00
2024-05-30 10:38:21 -07:00
2024-05-30 10:38:21 -07:00
2024-05-30 10:38:21 -07:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2024-06-26 15:59:07 +01:00
2025-06-03 09:38:22 -07:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2025-06-03 09:38:22 -07:00
2023-02-16 11:18:04 -08:00
2025-06-03 09:38:22 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2024-06-07 17:05:29 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2024-06-26 15:59:07 +01:00
2023-02-16 11:18:04 -08:00
2025-06-27 08:30:02 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2024-08-30 19:26:49 +01:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-11-13 21:10:16 -05:00
2025-02-06 15:04:29 -08:00
2025-02-06 09:19:22 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2025-08-01 09:36:48 -07:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2025-06-23 13:02:51 -05:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-08-31 20:35:10 +01:00
2025-03-31 08:19:41 -07:00
2023-02-16 11:18:04 -08:00
2025-03-06 18:57:54 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-10-06 10:43:31 -07:00
2025-03-29 15:21:51 -07:00
2025-03-29 15:21:51 -07:00
2024-04-08 17:57:35 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2025-07-18 13:05:15 -07:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2024-02-19 00:33:23 -05:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2025-09-04 08:34:34 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-11-15 13:32:42 -08:00
2024-11-18 16:15:41 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2024-04-08 17:57:35 -07:00
2025-07-31 13:10:04 -07:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-10-30 17:46:18 -07:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2023-02-16 11:18:04 -08:00
2023-08-31 20:35:10 +01:00
2024-04-25 16:42:33 -07:00
2024-12-09 10:48:28 -08:00
2023-02-16 11:18:04 -08:00
2023-08-31 16:31:10 +01:00
2023-02-16 11:18:04 -08:00
2023-11-15 13:32:42 -08:00
2023-08-31 20:35:10 +01:00
2023-09-21 10:35:15 +00:00