This documents the behaviour of the different SBType functions with notes for the
language-specific behaviour for C/C++/Objective-C. All of this reflects the current
behaviour of LLDB (even though that also means some functions behave kinda weird
but at least they are now documented to be weird)
Details
- Reviewers
mib - Group Reviewers
Restricted Project - Commits
- rG11e2922bb7ad: [lldb][docs] Document SBType
Diff Detail
Event Timeline
The language here might shift between functions and needs to be synced up (that patch was written over a few weeks during some build/test idle time). But the patch seems good enough for a draft.
lldb/bindings/interface/SBType.i | ||
---|---|---|
338 | Worth noting that anonymous structs are a GNU extension in C++. |
Is this code used for auto-generated docs? Could be have this documentation in C++ definitions (lldb/API/SBType.h) as well? I usually just read the C++ source code, but I can imagine having the same docs in two places might be not the best idea...
Jepp, documenting this stuff in the C++ headers seems like a good idea. My current idea is that when the Python docs are done that I'll just copy them to the C++ headers (and add/remove the C++<->Python specific parts)
And I agree, having them in two places isn't great, but apparently the technology is barely there to even document the current SWIG interfaces itself (enums and overloaded functions are just really broken with Python), so I don't think we can do some form of single source publishing here (at least without writing our own tools[1]). The good thing is that the SB API is stable so once this is done we should hopefully rarely have to update the different versions of the docs. In any case, I think this is more of a discussion for the mailing list.
[1] Given how much pain it is to work with SWIG, I think the idea of "let's just make our own SWIG" is actually really popular around here. Maybe one day we'll reach the point where someone has enough, takes a week off and returns with the SWIG clone we all deserve :)
Worth noting that anonymous structs are a GNU extension in C++.