summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/IndexingContext.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicateArgyrios Kyrtzidis2012-01-141-1/+1
| | | | | | that one wants indexing callbacks for function-local symbols as well. llvm-svn: 148160
* Eliminate ObjCForwardProtocolDecl, which is redundant now thatDouglas Gregor2012-01-011-10/+15
| | | | | | ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
* Move the data that corresponds to the definition of a protocol into aDouglas Gregor2012-01-011-3/+8
| | | | | | | | | separately-allocated DefinitionData structure. Introduce various functions that will help with the separation of declarations from definitions (isThisDeclarationADefinition(), hasDefinition(), getDefinition()). llvm-svn: 147408
* Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDeclDouglas Gregor2011-12-271-16/+14
| | | | | | | covers both declarations (@class) and definitions (@interface) of an Objective-C class. llvm-svn: 147299
* Move the definition-specific data of ObjCInterfaceDecl into aDouglas Gregor2011-12-151-1/+4
| | | | | | | | | | | | | | | | separately-allocated DefinitionData structure, which we manage the same way as CXXRecordDecl::DefinitionData. This prepares the way for making ObjCInterfaceDecls redeclarable, to more accurately model forward declarations of Objective-C classes and eliminate the mutation of ObjCInterfaceDecl that causes us serious trouble in the AST reader. Note that ObjCInterfaceDecl's accessors are fairly robust against being applied to forward declarations, because Clang (and Sema in particular) doesn't perform RequireCompleteType/hasDefinition() checks everywhere it has to. Each of these overly-robust cases is marked with a FIXME, which we can tackle over time. llvm-svn: 146644
* [libclang] Indexing API: provide an attribute list inside CXIdxEntityInfoArgyrios Kyrtzidis2011-12-151-16/+57
| | | | | | so that we can access the attributes of an entity for a reference. llvm-svn: 146616
* [libclang] Suppress indexing references for occurrences of the interfaceArgyrios Kyrtzidis2011-12-151-0/+6
| | | | | | in a superclass and the protocols in a protocol list. llvm-svn: 146615
* Eliminate the vistigial ObjCClassDecl::ObjCClassRef, and inline itsDouglas Gregor2011-12-141-3/+2
| | | | | | | members into ObjCClassDecl, saving ourselves one pointer per forward declaration. llvm-svn: 146564
* [libclang] Indexing API: Provide the protocols list for objc categories as well.Argyrios Kyrtzidis2011-12-131-0/+7
| | | | | | rdar://10573361 llvm-svn: 146498
* [libclang] Indexing API: Fix suppressing of references in macros and suppressArgyrios Kyrtzidis2011-12-131-2/+15
| | | | | | | | @class forward references. rdar://10568080&10568103&10568119 llvm-svn: 146496
* Save category name loc in ObjCCategoryImplDecl, patch by Jason Haslam!Argyrios Kyrtzidis2011-12-091-1/+1
| | | | llvm-svn: 146213
* [libclang] Remove IndexingContext's getScopedContext(), it's not usefulArgyrios Kyrtzidis2011-12-081-22/+0
| | | | | | now that client containers can be set via function calls. llvm-svn: 146117
* [libclang] Indexing API: provide both the semantic and the lexical container.Argyrios Kyrtzidis2011-12-071-5/+7
| | | | | | They are generally the same except in C++ cases like out-of-line member functions. llvm-svn: 146069
* [libclang] Fix indexing of C++ bases in a C++ class.Argyrios Kyrtzidis2011-12-071-4/+35
| | | | llvm-svn: 146068
* [libclang] Introduce CXIdxEntityLanguage that indicates the languageArgyrios Kyrtzidis2011-12-071-18/+54
| | | | | | of an indexed entity. llvm-svn: 146067
* [libclang] Index C++ namespaces.Argyrios Kyrtzidis2011-12-071-0/+7
| | | | llvm-svn: 146019
* [libclang] When indexing a field in a C++ class, return an entityArgyrios Kyrtzidis2011-12-051-1/+6
| | | | | | of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503. llvm-svn: 145859
* Silence GCC warnings, RefCountedBase is meant to be default-initialized here.Benjamin Kramer2011-11-291-1/+0
| | | | llvm-svn: 145396
* [libclang] Indexing API: Fix issues, mostly C++ related.Argyrios Kyrtzidis2011-11-231-24/+43
| | | | llvm-svn: 145107
* [libclang] Indexing API: Support C++ symbols.Argyrios Kyrtzidis2011-11-221-34/+235
| | | | llvm-svn: 145058
* [libclang] Indexing API:Argyrios Kyrtzidis2011-11-181-84/+177
| | | | | | | | | -For indexDeclaration, also pass the declaration attributes as an array of cursors. -Rename CXIndexOpt_OneRefPerFile -> CXIndexOpt_SuppressRedundantRefs, and only pass a reference if a declaration/definition does not exist in the file. -Other fixes. llvm-svn: 144942
* [libclang] Indexing API: make sure we don't pass declarations/references ↵Argyrios Kyrtzidis2011-11-181-7/+13
| | | | | | without USR or location. llvm-svn: 144941
* [libclang] Indexing API: fill the objc category info for a category ↵Argyrios Kyrtzidis2011-11-161-3/+16
| | | | | | | | implementation and do not crash if no client container is registered for a declaration context. llvm-svn: 144765
* [libclang] Indexing API: make sure we do not try to index local declarations.Argyrios Kyrtzidis2011-11-161-0/+4
| | | | llvm-svn: 144764
* [libclang] Indexing API: if the CXIndexOpt_OneRefPerFile option is set, only ↵Argyrios Kyrtzidis2011-11-161-5/+33
| | | | | | | | report one reference per file. llvm-svn: 144763
* [libclang] Indexing API: Pass an implicit ObjCInterfaceDecl (@implementation ↵Argyrios Kyrtzidis2011-11-151-2/+1
| | | | | | | | without @interface) in a separate indexing callback than its implementation. llvm-svn: 144625
* [libclang] Introduce a new function to apply the indexing callbacks on an ↵Argyrios Kyrtzidis2011-11-151-1/+14
| | | | | | | | existing CXTranslationUnit, mainly to be used for indexing a PCH. llvm-svn: 144623
* [libclang] Slight changes to the indexing API and bigger internal changes ↵Argyrios Kyrtzidis2011-11-141-89/+56
| | | | | | for it. llvm-svn: 144577
* [libclang] Further simplify the indexing API.Argyrios Kyrtzidis2011-11-121-183/+86
| | | | | | | That stuff can be added later on if we need them. Also add some const goodness. llvm-svn: 144446
* [libclang] Simplify the indexing API.Argyrios Kyrtzidis2011-11-111-322/+259
| | | | | | | | Cut down the number of callbacks to more generic ones. Clients can check an enum to find out what kind of declaration it is and they can call functions to get more specific information than the generic provided info. llvm-svn: 144343
* Use const_cast to make it obvious that it's just removing constness (and ↵Benjamin Kramer2011-10-281-3/+5
| | | | | | silence warnings). llvm-svn: 143193
* [libclang] Index implicit property references.Argyrios Kyrtzidis2011-10-181-2/+4
| | | | llvm-svn: 142355
* Silence a -Wc++0x-narrowing warningMatt Beaumont-Gay2011-10-171-1/+1
| | | | llvm-svn: 142292
* [libclang] Introduce a new high level API for indexing clients that assumesArgyrios Kyrtzidis2011-10-171-0/+695
more of the work involved in indexing a translation unit and simplifies client implementations. Only C/ObjC for now, C++ (and comments) to come. llvm-svn: 142233
OpenPOWER on IntegriCloud