)]}'
{
  "commit": "d289ff761b2daab625f057efdee25c6616117640",
  "tree": "0aed7ceaed62bcf10d64b17c73523aa00e026270",
  "parents": [
    "1cb47c19f8eca4badd8fb5e1a1b1cf4aaab607b8"
  ],
  "author": {
    "name": "Dave Lee",
    "email": "davelee.com@gmail.com",
    "time": "Thu Sep 04 08:34:34 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Sep 04 08:34:34 2025 -0700"
  },
  "message": "[lldb] Reland: Add Pythonic API to SBStructuredData extension (#156771)\n\n* Adds `dynamic` property to automatically convert `SBStructuredData`\ninstances to the associated Python type (`str`, `int`, `float`, `bool`,\n`NoneType`, etc)\n* Implements `__getitem__` for Pythonic array and dictionary\nsubscripting\n  * Subscripting return the result of the `dynamic` property\n* Updates `__iter__` to support dictionary instances (supporting `for`\nloops)\n* Adds `__str__`, `__int__`, and `__float__`\n\nWith these changes, these two expressions are equal:\n\n```py\ndata[\"name\"] \u003d\u003d data.GetValueForKey(\"name\").GetStringValue(1024)\n```\n\n**Note**: Unlike the original commit (#155061), this re-commit removes\nthe `__bool__` implementation, which broke crashlog. Somewhere in the\ncrashlog execution, it depends on `__bool__` meaning only `IsValid()`.\n\nAdditionally did some cleanup in TestStructuredDataAPI.py.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca3d0966f9fc11514cce0d59d864b96ceb9d75ee",
      "old_mode": 33188,
      "old_path": "lldb/bindings/interface/SBStructuredDataExtensions.i",
      "new_id": "af76cfc5c2db310e46f57896eae3f7c49daca654",
      "new_mode": 33188,
      "new_path": "lldb/bindings/interface/SBStructuredDataExtensions.i"
    },
    {
      "type": "modify",
      "old_id": "99f88d3da794a9f834aa84e31196b9a10d644afd",
      "old_mode": 33188,
      "old_path": "lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py",
      "new_id": "b12f4daee0c81be75bfaf778c87d1812a4d39b7f",
      "new_mode": 33188,
      "new_path": "lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py"
    }
  ]
}
