I am trying to parse the following code with the Python interface to libclang (full listing attached):<br><br> class Toaster : Base<int,7> { ... };<br><br>Unfortunately, traversing cursors via getChildren gives me the following tree (see clang_dump() in autodescribe.py for the code that generated this tree):<br>
<br>CLASS_DECL Toaster<br> CXX_BASE_SPECIFIER None : Base<int,7><br> TEMPLATE_REF None : Base<br> INTEGER_LITERAL None : 7<br> CXX_ACCESS_SPEC_DECL PUBLIC : public:<br> ...<br><br>The base specifier only seems to mention "Base" and "7", not "int". Should I be able to fully inspect Base<int,7> using cursors?<br>
<br>I also tried traversing the Type object corresponding to Base<int,7>, but I don't see any methods for accessing template parameters either in libclang's Python bindings or in the original C. If I'm correct that the functionality is missing from the C layer, what's the easiest way to add it? The C++ structure of template references seems quite complicated (I imagine by necessity :)).<br>
<br>Background: I'm working on a clang-based front end for the xdress Python binding generator project. I've already made a couple minor improvements to the libclang Python bindings (exposing formatDiagnostic and the details of access specifiers), and am happy to contribute these back once I'm done.<br>
<br>Thanks for any suggestions!<br>Geoffrey<br>