summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXCursor.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-08-31 17:01:39 +0000
committerDouglas Gregor <dgregor@apple.com>2010-08-31 17:01:39 +0000
commit713602bb09f09b971f55c565e7bbdf2aba173e98 (patch)
tree084fe44d30c91c1d1c11e8d94369ec3f963394e9 /clang/tools/libclang/CXCursor.cpp
parent04dc9572601fb6ae976156326797a8888e00edad (diff)
downloadbcm5719-llvm-713602bb09f09b971f55c565e7bbdf2aba173e98.tar.gz
bcm5719-llvm-713602bb09f09b971f55c565e7bbdf2aba173e98.zip
Implement basic support for indexing function templates in
libclang. This includes: - Cursor kind for function templates, with visitation logic - Cursor kinds for template parameters, with visitation logic - Visitation logic for template specialization types, qualified type locations - USR generation for function templates, template specialization types, template parameter types. Also happens to fix PR7804, which I tripped across while testing. llvm-svn: 112604
Diffstat (limited to 'clang/tools/libclang/CXCursor.cpp')
-rw-r--r--clang/tools/libclang/CXCursor.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index 029b3d237dc..86cf83d75e5 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -60,6 +60,10 @@ static CXCursorKind GetCursorKind(Decl *D) {
case Decl::Typedef: return CXCursor_TypedefDecl;
case Decl::Var: return CXCursor_VarDecl;
case Decl::Namespace: return CXCursor_Namespace;
+ case Decl::TemplateTypeParm: return CXCursor_TemplateTypeParameter;
+ case Decl::NonTypeTemplateParm:return CXCursor_NonTypeTemplateParameter;
+ case Decl::TemplateTemplateParm:return CXCursor_TemplateTemplateParameter;
+ case Decl::FunctionTemplate: return CXCursor_FunctionTemplate;
default:
if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
switch (TD->getTagKind()) {
OpenPOWER on IntegriCloud