summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/index-templates.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Expose more statement, expression, and declaration kinds in libclang,Douglas Gregor2011-10-051-1/+1
| | | | | | from Manuel Holtgrewe! llvm-svn: 141200
* Enable -fdelayed-template-parsing by default on Win32.Francois Pichet2011-09-011-2/+2
| | | | | | I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests. llvm-svn: 138942
* Added clang_getCursorReferenceNameRange to libclang to to retrieve parts ofDouglas Gregor2011-07-251-2/+2
| | | | | | a cursor reference, from Erik Verbruggen! llvm-svn: 135920
* Fixed source range for all DeclaratorDecl's.Abramo Bagnara2011-03-081-5/+5
| | | | llvm-svn: 127225
* Fixed TypedefDecl and TemplateTypeParameter source range.Abramo Bagnara2011-03-061-20/+20
| | | | llvm-svn: 127119
* Fixed source range for ClassTemplateSpecializationDecl.Abramo Bagnara2011-03-041-3/+3
| | | | llvm-svn: 126999
* Improved TemplateTypeParmDecl end location.Abramo Bagnara2011-03-041-2/+2
| | | | llvm-svn: 126996
* Fixed end location of NonTypeTemplateParamDecl.Abramo Bagnara2011-03-041-1/+1
| | | | llvm-svn: 126994
* Teach clang_getCursorReferenced() that aDouglas Gregor2010-11-051-1/+1
| | | | | | | | CXXConstructorExpr/CXXTemporaryObjectExpr references the constructor it calls. Then, tweak clang_getCursor() to prefer such a call over a type reference to the type being called. llvm-svn: 118297
* Substantially revise how clang computes the visibility of a declaration toJohn McCall2010-10-221-1/+1
| | | | | | | | more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. llvm-svn: 117147
* Teach clang_getCursorType() about base specifiers and other referencesDouglas Gregor2010-10-021-1/+12
| | | | | | | | | | | to types. Also, teach clang_getTypeDeclaration() about template specializations, injected-class-names, and elaborated types. Fixes <rdar://problem/8506460>. llvm-svn: 115425
* Introduce a simple, substitution-based compression scheme for USRs, soDouglas Gregor2010-09-201-8/+19
| | | | | | | that redundant types don't result in super-long USRs. Fixes <rdar://problem/8447875>. llvm-svn: 114347
* When traversing an InitListExpr, there may not be a syntactic form;Douglas Gregor2010-09-171-0/+18
| | | | | | | check for NULL and visit the InitListExpr we have if there is no syntactic form. llvm-svn: 114203
* Introduce a new kind of cursor into libclang, which covers a referenceDouglas Gregor2010-09-131-0/+21
| | | | | | | | | to an "overloaded" set of declarations. This cursor kind works for unresolved references to functions/templates (e.g., a call within a template), using declarations, and Objective-C class and protocol forward declarations. llvm-svn: 113805
* Add libclang support for label statements, gotos, and taking theDouglas Gregor2010-09-101-1/+0
| | | | | | address of a label (GNU extension). llvm-svn: 113564
* In libclang, visit the nested-name-specifier and explicitly-specified ↵Douglas Gregor2010-09-021-5/+19
| | | | | | template arguments of a MemberExpr. llvm-svn: 112860
* Visit the nested-name-specifier and explicitly-specified templateDouglas Gregor2010-09-021-4/+13
| | | | | | arguments of a DeclRefExpr. llvm-svn: 112854
* Introduce a new libclang function,Douglas Gregor2010-09-021-3/+6
| | | | | | | | | clang_getSpecializedCursorTemplate(), which determines the template (or member thereof) that the given cursor specializes or from which it was instantiated. This routine can be used to establish a link between templates and their instantiations/specializations. llvm-svn: 112780
* Test visiting the template parameters of template template parameters,Douglas Gregor2010-09-011-0/+10
| | | | | | support for which came in with the last commit. llvm-svn: 112735
* Teach libclang to visit the default arguments of template parameters.Douglas Gregor2010-09-011-0/+20
| | | | llvm-svn: 112734
* Implement libclang support for using declarations. Clang actually usesDouglas Gregor2010-09-011-0/+19
| | | | | | | | | | | | | | | | three different kinds of AST nodes to represent using declarations: UsingDecl, UnresolvedUsingValueDecl, and UnresolvedUsingTypenameDecl. These three are collapsed into a single cursor kind for using declarations, since libclang clients don't need the distinction. Several related changes here: - Cursor visitation of the three AST nodes for using declarations - Proper source-range computation for these AST nodes - Using declarations have no USRs, since they don't actually declare any entities. llvm-svn: 112730
* Improve libclang indexing support for class template specializationsDouglas Gregor2010-09-011-7/+35
| | | | | | | | | | | | | in a few related ways: - Don't recurse into instantiations of templates. - Recurse into explicit specializations. - Visit the template arguments of an explicit specialization or explicit instantiation. - Include template specialization arguments in the USRs for class template specializations. llvm-svn: 112720
* Extend libclang with a new cursor kind that indicates a reference to aDouglas Gregor2010-08-311-1/+1
| | | | | | | | | template. Such cursors occur, for example, in template specialization types such as vector<int>. Note that we do not handle the super-interesting case where the template name is unresolved, e.g., within a template. llvm-svn: 112636
* Add libclang support for class template partial specializations,Douglas Gregor2010-08-311-0/+8
| | | | | | including a cursor kind, visitation, and USRs. llvm-svn: 112629
* Add a libclang cursor kind, visitation support and USR support for C++Douglas Gregor2010-08-311-0/+14
| | | | | | class templates. llvm-svn: 112627
* Implement basic support for indexing function templates inDouglas Gregor2010-08-311-0/+22
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
OpenPOWER on IntegriCloud