diff options
author | Dave Lee <davelee.com@gmail.com> | 2025-09-04 08:34:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-04 08:34:34 -0700 |
commit | d289ff761b2daab625f057efdee25c6616117640 (patch) | |
tree | 0aed7ceaed62bcf10d64b17c73523aa00e026270 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 1cb47c19f8eca4badd8fb5e1a1b1cf4aaab607b8 (diff) | |
download | llvm-d289ff761b2daab625f057efdee25c6616117640.zip llvm-d289ff761b2daab625f057efdee25c6616117640.tar.gz llvm-d289ff761b2daab625f057efdee25c6616117640.tar.bz2 |
[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.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions