[libclang] Visit function template instantiations #67928
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes
CursorVisitor::VisitFunctionTemplateDecl
such that instantiations of the function template (e.g.template void foo<int>();
) are visited as children of theFunctionTemplateDecl
. This also applies to class methods.The use case for this I have in mind would be to add limited support for function templates in
rust-bindgen
(see rust-lang/rust-bindgen#2650).Additionally, I have taken the liberty to add
CXCursor_CXXMethod
to the list of cursors supported bygetTemplateArgument
, since I found it a bit odd that this was not the case before.Please let me know if there is anything that needs to be changed, I'm happy to make changes if necessary.