summaryrefslogtreecommitdiffstats
path: root/clang/tools/c-index-test/c-index-test.c
Commit message (Collapse)AuthorAgeFilesLines
...
* [libclang] Even though we disable the preprocessing record during indexing,Argyrios Kyrtzidis2012-10-021-1/+2
| | | | | | make sure that it gets enabled for when a module needs to be created. llvm-svn: 165021
* [libclang] Implement the importedASTFile indexing callback to provideArgyrios Kyrtzidis2012-10-021-1/+19
| | | | | | info about imported modules. llvm-svn: 165020
* Comment AST: TableGen'ize all command lists in CommentCommandTraits.cpp.Dmitri Gribenko2012-09-101-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we have a list of all commands. This is a good thing in itself, but it also enables us to easily implement typo correction for command names. With this change we have objects that contain information about each command, so it makes sense to resolve command name just once during lexing (currently we store command names as strings and do a linear search every time some property value is needed). Thus comment token and AST nodes were changed to contain a command ID -- index into a tables of builtin and registered commands. Unknown commands are registered during parsing and thus are also uniformly assigned an ID. Using an ID instead of a StringRef is also a nice memory optimization since ID is a small integer that fits into a common bitfield in Comment class. This change implies that to get any information about a command (even a command name) we need a CommandTraits object to resolve the command ID to CommandInfo*. Currently a fresh temporary CommandTraits object is created whenever it is needed since it does not have any state. But with this change it has state -- new commands can be registered, so a CommandTraits object was added to ASTContext. Also, in libclang CXComment has to be expanded to include a CXTranslationUnit so that all functions working on comment AST nodes can get a CommandTraits object. This breaks binary compatibility of CXComment APIs. Now clang_FullComment_getAsXML(CXTranslationUnit TU, CXComment CXC) doesn't need TU parameter anymore, so it was removed. This is a source-incompatible change for this C API. llvm-svn: 163540
* Fix the build (-Wswitch violation introduced by r163013).David Blaikie2012-08-311-0/+1
| | | | llvm-svn: 163025
* Fix C++ comment in C sourceMichael Liao2012-08-301-1/+1
| | | | llvm-svn: 162887
* [libclang] c-index-test: Make the printing of the overrides list of a cursor inArgyrios Kyrtzidis2012-08-221-1/+22
| | | | | | a deterministic order, to avoid random test failures. llvm-svn: 162408
* Fix a couple of pedantic gcc warnings.Benjamin Kramer2012-08-101-2/+2
| | | | llvm-svn: 161656
* libclang API for comment-to-xml conversion.Dmitri Gribenko2012-08-071-25/+129
| | | | | | | | | | | | The implementation also includes a Relax NG schema and tests for the schema itself. The schema is used in c-index-test to verify that XML documents we produce are valid. In order to do the validation, we add an optional libxml2 dependency for c-index-test. Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric Christopher. Thanks! llvm-svn: 161431
* Comment parsing: add support for \tparam command on all levels.Dmitri Gribenko2012-07-311-0/+17
| | | | | | | | | | The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this breaks libclang binary compatibility, but should not be a problem since API is so new. This also fixes PR13372 as a side-effect. llvm-svn: 161087
* c-index-test: remove dead store. Found by Clang static analyzer!Dmitri Gribenko2012-07-301-1/+0
| | | | llvm-svn: 160974
* Comment AST: add InlineContentComment::RenderKind to specify a defaultDmitri Gribenko2012-07-231-0/+14
| | | | | | | | rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. llvm-svn: 160633
* Fix c-index-test to compile as C89.Dmitri Gribenko2012-07-201-8/+14
| | | | llvm-svn: 160582
* Add libclang APIs to walk comments ASTs and an API to convert a comment to anDmitri Gribenko2012-07-201-21/+202
| | | | | | | | | | | HTML fragment. For testing, c-index-test now has even more output: * HTML rendering of a comment * comment AST tree dump in S-expressions like Comment::dump(), but implemented * with libclang APIs. llvm-svn: 160577
* Fix some memory leaks found by the static analyzer. Thanks to John Smith for ↵Richard Smith2012-07-051-3/+8
| | | | | | running it over Clang. llvm-svn: 159732
* [libclang] CompilationDatabase naming and comment fixesArnaud A. de Grandmaison2012-07-031-9/+9
| | | | llvm-svn: 159682
* [libclang] Introduce clang_Cursor_isDynamicCall which,Argyrios Kyrtzidis2012-07-021-0/+3
| | | | | | | | | | | | | given a cursor pointing to a C++ method call or an ObjC message, returns non-zero if the method/message is "dynamic", meaning: For a C++ method: the call is virtual. For an ObjC message: the receiver is an object instance, not 'super' or a specific class. rdar://11779185 llvm-svn: 159627
* Add a new libclang completion API to get brief documentation comment that isDmitri Gribenko2012-07-021-0/+14
| | | | | | | | | | | | | | | | attached to a declaration in the completion string. Since extracting comments isn't free, a new code completion option is introduced. A new code completion option that enables including brief comments into CodeCompletionString should be a, err, code completion option. But because ASTUnit caches global declarations during parsing before even completion consumer is created, the option is duplicated as a translation unit option (in both libclang and ASTUnit, like the option to cache code completion results). llvm-svn: 159539
* c-index-test.c: Fix missing semicolon(s).NAKAMURA Takumi2012-06-301-2/+2
| | | | llvm-svn: 159486
* [libclang] add CompilationDatabase supportArnaud A. de Grandmaison2012-06-301-1/+106
| | | | llvm-svn: 159484
* Implement a lexer for structured comments.Dmitri Gribenko2012-06-261-16/+34
| | | | llvm-svn: 159223
* Structured comment parsing, first step.Dmitri Gribenko2012-06-201-1/+19
| | | | | | | | | * Retain comments in the AST * Serialize/deserialize comments * Find comments attached to a certain Decl * Expose raw comment text and SourceRange via libclang llvm-svn: 158771
* Introduce a new libclang API to determine the platform availability ofDouglas Gregor2012-05-081-1/+63
| | | | | | | | a given entity, so that we can tell when the entity was introduced/deprecated/obsoleted on each platform for which we have an annotation. Addresses <rdar://problem/11365715>. llvm-svn: 156347
* c-index-test: dispose spelling string after use.Benjamin Kramer2012-04-141-0/+1
| | | | llvm-svn: 154738
* Added a flag to the parser to skip method bodies.Erik Verbruggen2012-04-121-0/+2
| | | | llvm-svn: 154584
* Implement clang_getDiagnosticCategoryText() to provide a way for a client of ↵Ted Kremenek2012-04-121-2/+8
| | | | | | | | | libclang to accurately get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file. llvm-svn: 154567
* [libclang] Apparently it's important to build in C89, sigh..Argyrios Kyrtzidis2012-04-111-1/+2
| | | | llvm-svn: 154525
* [libclang] Introduce a couple of functions to make it convenientArgyrios Kyrtzidis2012-04-111-0/+16
| | | | | | | | | | | to get at the parameters (and their types) of a function or objc method cursor. int clang_Cursor_getNumArguments(CXCursor C); CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i); rdar://11201527 llvm-svn: 154523
* [Cygwin] Work around to flush stdout in a thread, or stdout in threads won't ↵NAKAMURA Takumi2012-04-071-0/+3
| | | | | | be flushed at exit. llvm-svn: 154254
* Remove unused but set variable.Benjamin Kramer2012-03-311-3/+2
| | | | llvm-svn: 153800
* [libclang] Introduce clang_Cursor_getObjCSelectorIndex() function.Argyrios Kyrtzidis2012-03-301-0/+2
| | | | | | | | | | After getting a cursor with clang_getCursor for a particular source location, allows querying the cursor in order to find out if the location points to a selector identifier in an objc method or message expression, and which selector index it is. rdar://11158946 llvm-svn: 153781
* [libclang] Introduce clang_Cursor_getSpellingNameRange().Argyrios Kyrtzidis2012-03-301-3/+15
| | | | | | | | | | | It retrieves a source range for a piece that forms the cursors spelling name. Most of the times there is only one range for the complete spelling but for objc methods and objc message expressions, there are multiple pieces for each selector identifier. Part of rdar://11113120 llvm-svn: 153775
* [libclang] Have c-index-test output more information about a cursor with ↵Argyrios Kyrtzidis2012-03-301-0/+12
| | | | | | | | | | | | -cursor-at: -the location of the cursor -its extent -its spelling Part of radar://11113120 llvm-svn: 153707
* Introduce a new libclang API to determine the parent context of a codeDouglas Gregor2012-03-271-1/+16
| | | | | | | | | completion item. For example, if the code completion itself represents a declaration in a namespace (say, std::vector), then this API retrieves the cursor kind and name of the namespace (std). Implements <rdar://problem/11121951>. llvm-svn: 153545
* Don't include FixIts with a null replacement range. Fixes ↵Ted Kremenek2012-03-201-0/+2
| | | | | | <rdar://problem/11040133>. llvm-svn: 153122
* [c-index-test] Make it C90 compliant.Argyrios Kyrtzidis2012-03-151-1/+3
| | | | llvm-svn: 152823
* [libclang] A couple of enhancements to c-index-test.Argyrios Kyrtzidis2012-03-151-14/+35
| | | | | | | | | -When printing location avoid printing the filename if it is same as the main file, not just if it has '.h' extension. -Make sure we allocate enough bytes for storing as string a huge line number. llvm-svn: 152821
* [libclang] When indexing an objc property, also provide information aboutArgyrios Kyrtzidis2012-02-281-0/+12
| | | | | | | | the getter/setter objc method entities that the property is associated with. rdar://10244558 llvm-svn: 151634
* Don't record nested macro expansions in the preprocessing record,Argyrios Kyrtzidis2012-02-251-2/+0
| | | | | | | | it can only bring pain when dealing with preprocessor abuse (see: boost). rdar://10898986 llvm-svn: 151427
* Implement new DiagnosticsRenderer that packages notes retrieved by ↵Ted Kremenek2012-02-141-6/+14
| | | | | | | | | clang_getDiagnosticSetFromTU() as child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now match with those generated for serialized diagnostics. llvm-svn: 150456
* [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicateArgyrios Kyrtzidis2012-01-141-8/+13
| | | | | | that one wants indexing callbacks for function-local symbols as well. llvm-svn: 148160
* [libclang] Indexing API: provide an attribute list inside CXIdxEntityInfoArgyrios Kyrtzidis2011-12-151-0/+7
| | | | | | so that we can access the attributes of an entity for a reference. llvm-svn: 146616
* [libclang] Indexing API: Fix suppressing of references in macros and suppressArgyrios Kyrtzidis2011-12-131-1/+5
| | | | | | | | @class forward references. rdar://10568080&10568103&10568119 llvm-svn: 146496
* [libclang] Indexing API: provide both the semantic and the lexical container.Argyrios Kyrtzidis2011-12-071-2/+4
| | | | | | 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-6/+18
| | | | llvm-svn: 146068
* [libclang] Introduce CXIdxEntityLanguage that indicates the languageArgyrios Kyrtzidis2011-12-071-1/+12
| | | | | | of an indexed entity. llvm-svn: 146067
* [libclang] When indexing a field in a C++ class, return an entityArgyrios Kyrtzidis2011-12-051-0/+1
| | | | | | of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503. llvm-svn: 145859
* [libclang] Create a diagnostic set to pass at the end of indexing.Argyrios Kyrtzidis2011-12-011-9/+15
| | | | llvm-svn: 145557
* [libclang] Indexing API: If the client requested to get a CXTranslationUnit ↵Argyrios Kyrtzidis2011-11-281-1/+10
| | | | | | | | after indexing, honor all the TU options. llvm-svn: 145229
* [libclang] Indexing API: Support C++ symbols.Argyrios Kyrtzidis2011-11-221-15/+58
| | | | llvm-svn: 145058
* c-index-test.c: Fix syntax according to C.NAKAMURA Takumi2011-11-181-1/+1
| | | | llvm-svn: 144947
OpenPOWER on IntegriCloud