SBStructuredData inconsistencies


I was adding support for SBStructuredData to my Rust bindings for the LLDB API and noticed a couple of things.

Since 5.0 isn’t out yet and these are newer API additions, I was hoping there might still be time to fix this.

SBStructuredData::GetFloatValue returns a double, but other things that return a double like SBData use “Double” in the name of the method: GetDouble.

The StructuredDataType enumeration uses -1 as the value for Invalid, but other enumerations typically use 0 or even the occasional 1. I think that this enumeration is the only one that uses a -1 within the LLDB public APIs.

Could we rename the method to GetDoubleValue? And can we re-number the enumeration values?

If so, I would like to get this in for the 5.0 release.

I know that Vadim Macagon has been using SBStructuredData from Python and reported that the Python / SWIG interface for GetStringValue is awkward to use, but I haven’t looked into this myself yet.


  • Bruce