summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CIndexCodeCompletion.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix the mapping of vertical-space cursor kinds to produce a newline,Douglas Gregor2010-10-081-4/+1
| | | | | | rather than a space. llvm-svn: 116097
* Add some missing concurrency checks into libclangDouglas Gregor2010-09-231-0/+2
| | | | llvm-svn: 114682
* Fix my silly sorting predicate. I hate integer-to-bool conversionsDouglas Gregor2010-09-101-1/+1
| | | | llvm-svn: 113656
* Make it clear that libclang does not modify the command-line argumentsDouglas Gregor2010-09-011-1/+1
| | | | | | it is given. llvm-svn: 112717
* Teach clang_codeComplete to always sort its code-completion resultsDouglas Gregor2010-08-271-0/+1
| | | | llvm-svn: 112292
* Implement code completion for @selector expressionsDouglas Gregor2010-08-261-1/+1
| | | | llvm-svn: 112186
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-0/+35
| | | | | | | | | | | into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. Provide a libclang function that sorts the results. 3rd try. How embarrassing. llvm-svn: 112180
* Revert r112149, "Move the sorting of code-completion results out of the mainDaniel Dunbar2010-08-261-35/+0
| | | | | | path and ...", it is failing tests. llvm-svn: 112161
* Revert r112154, "Fix thinko in sorting operation", it depends on r112149 whichDaniel Dunbar2010-08-261-2/+2
| | | | | | doth lay upon the chopping block. llvm-svn: 112160
* Fix thinko in sorting operationDouglas Gregor2010-08-261-2/+2
| | | | llvm-svn: 112154
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-0/+35
| | | | | | | | | into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. Provide a libclang function that sorts the results. llvm-svn: 112149
* Revert "Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-2/+0
| | | | | | | into the clients", because the C standard library sucks. Where's my stable sort, huh? llvm-svn: 112121
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-251-0/+2
| | | | | | | into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. llvm-svn: 112095
* Teach Sema to live without CodeCompleteConsumer.h.John McCall2010-08-251-1/+1
| | | | llvm-svn: 112028
* Introduce new libclang API functions that determine the availabilityDouglas Gregor2010-08-231-4/+21
| | | | | | | of a cursor or code-completion result, e.g., whether that result refers to an unavailable, deleted, or deprecated declaration. llvm-svn: 111858
* When performing code-completion in the presence of a preamble, makeDouglas Gregor2010-08-201-6/+2
| | | | | | | | | sure to (1) actually use the remapped files we were given rather than old data, and (2) keep the remapped files alive until the code-completion results are destroyed. Big thanks to Daniel for the test case. llvm-svn: 111597
* libclang: Execute clang_codeCompleteAt() inside a crash recovery context.Daniel Dunbar2010-08-191-9/+44
| | | | | | | - Test case is disabled for now, because something isn't write with file remapping. llvm-svn: 111581
* Extend the code-completion caching infrastructure to include globalDouglas Gregor2010-08-151-1/+2
| | | | | | | | | | | | | | | | | | declarations (in addition to macros). Each kind of declaration maps to a certain set of completion contexts, and the ASTUnit completion logic introduces the completion strings for those declarations if the actual code-completion occurs in one of the contexts where it matters. There are a few new code-completion-context kinds. Without these, certain completions (e.g., after "using namespace") would need to suppress all global completions, which would be unfortunate. Note that we don't get the priorities right for global completions, because we don't have enough type information. We'll need a way to compare types in an ASTContext-agnostic way before this can be implemented. llvm-svn: 111093
* Implement caching of code-completion results for macro definitionsDouglas Gregor2010-08-131-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when the CXTranslationUnit_CacheCompletionResults option is given to clang_parseTranslationUnit(). Essentially, we compute code-completion results for macro definitions after we have parsed the file, then store an ASTContext-agnostic version of those results (completion string, cursor kind, priority, and active contexts) in the ASTUnit. When performing code completion in that ASTUnit, we splice the macro definition results into the results provided by the actual code-completion (which has had macros turned off) before libclang gets those results. We use completion context information to only splice in those results that make sense for that context. With a completion involving all of the macros from Cocoa.h and a few other system libraries (totally ~8500 macro definitions) living in a precompiled header, we get about a 9% performance improvement from code completion, since we no longer have to deserialize all of the macro definitions from the precompiled header. Note that macro definitions are merely the canary; the cache is designed to also support other top-level declarations, which should be a bigger performance win. That optimization will be next. Note also that there is no mechanism for determining when to throw away the cache and recompute its contents. llvm-svn: 111051
* Once code completion has completed, pass a "completion context" on toDouglas Gregor2010-08-111-1/+3
| | | | | | | the code-completion consumer. The consumer can use this information to augument, filter, or display the code-completion results. llvm-svn: 110858
* Minor libclang tweaksDouglas Gregor2010-08-091-2/+2
| | | | llvm-svn: 110599
* Use precompiled preambles for in-process code completion.Douglas Gregor2010-08-091-4/+14
| | | | llvm-svn: 110596
* Give clang_codeCompleteAt() an "options" parameter, and add a newDouglas Gregor2010-08-051-2/+10
| | | | | | | | | flags enumeration + default-generating function that allows code-completion to be customized via the libclang API. Plus, turn on spell-checking when performing code completion. llvm-svn: 110319
* When performing in-process code completion, don't free the remappedDouglas Gregor2010-08-041-10/+12
| | | | | | | file buffers until the code completion results are destroyed; diagnostics may end up referring into the source. llvm-svn: 110216
* Add code-completion support directly to ASTUnit, which performs codeDouglas Gregor2010-08-041-2/+163
| | | | | | | | | | | | | | completion within the translation unit using the same command-line arguments for parsing the translation unit. Eventually, we'll reuse the precompiled preamble to improve code-completion performance, and this also gives us a place to cache results. Expose this function via the new libclang function clang_codeCompleteAt(), which performs the code completion within a CXTranslationUnit. The completion occurs in-process (clang_codeCompletion() runs code completion out-of-process). llvm-svn: 110210
* When LIBCLANG_CODE_COMPLETION_LOGGING is set in the environment, log ↵Douglas Gregor2010-07-261-0/+15
| | | | | | code-completion command lines to stderr llvm-svn: 109395
* libclang: When invoking external clang process to get code completion results,Daniel Dunbar2010-06-301-0/+3
| | | | | | | pass -ccc-clang-cxx to force C++ support (even if the binary was built without it). llvm-svn: 107324
* Silence warning about "enumeral and non-enumeral type in conditionalBill Wendling2010-05-271-1/+1
| | | | | | expression". llvm-svn: 104863
* Introduce priorities into the code-completion results.Douglas Gregor2010-05-261-8/+38
| | | | llvm-svn: 104751
* Turn vertical spacing into horizontal spacing in code-completion resultsDouglas Gregor2010-05-251-1/+4
| | | | llvm-svn: 104586
* Rename 'CIndex' to 'libclang', since it has basically become our stable publicDaniel Dunbar2010-04-301-0/+512
(C) API, and will likely grow further in this direction in the future. llvm-svn: 102779
OpenPOWER on IntegriCloud