diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-08-31 17:01:39 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-08-31 17:01:39 +0000 | 
| commit | 713602bb09f09b971f55c565e7bbdf2aba173e98 (patch) | |
| tree | 084fe44d30c91c1d1c11e8d94369ec3f963394e9 /clang/tools/libclang/CXCursor.cpp | |
| parent | 04dc9572601fb6ae976156326797a8888e00edad (diff) | |
| download | bcm5719-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.cpp | 4 | 
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()) { | 

