summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCodeComplete.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* If code completion patterns are not enabled, use simpler else/else ifDouglas Gregor2012-02-161-12/+16
| | | | | | completions that don't insert braces. Fixes <rdar://problem/10764168>. llvm-svn: 150707
* Implement code completion support for lambda capture lists.Douglas Gregor2012-02-151-13/+92
| | | | llvm-svn: 150583
* Basic: import SmallString<> into clang namespaceDylan Noblesmith2012-02-051-1/+1
| | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
* Move a method from IdentifierTable.h out of line and remove the SmallString ↵Benjamin Kramer2012-02-041-0/+1
| | | | | | | | include. Fix all the transitive include users. llvm-svn: 149783
* When providing code completions for a switch over a scoped enumerationDouglas Gregor2012-02-011-4/+1
| | | | | | type, be sure to add the qualifier for the enumeration type. llvm-svn: 149471
* SmallBitVectorize the deduced parameter set.Benjamin Kramer2012-01-301-1/+2
| | | | llvm-svn: 149253
* Implement code completion support for module import declarations, e.g.,Douglas Gregor2012-01-291-0/+52
| | | | | | | | | | | | @import <complete with module names here> or @import std.<complete with submodule names here> Addresses <rdar://problem/10710117>. llvm-svn: 149199
* Added source location for the template keyword in AST template-id expressions.Abramo Bagnara2012-01-271-1/+3
| | | | llvm-svn: 149127
* [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl"Argyrios Kyrtzidis2012-01-241-13/+2
| | | | | | | | for forward references of classes and protocols, this breaks libclang API usage. rdar://10747438. llvm-svn: 148861
* Handle pseudo-object expressions (and any other placeholderDouglas Gregor2012-01-231-3/+7
| | | | | | | expression) when code-completing member access expressions. Fixes <rdar://problem/10717172>. llvm-svn: 148703
* Fix the code completion string for variadic macros with more than oneDouglas Gregor2012-01-211-32/+21
| | | | | | | argument, which was broken and very ugly (and even had a test case to make *sure* it was broken and ugly). Fixes <rdar://problem/10609117>. llvm-svn: 148606
* Remove dead comments as per Chandler's feedback to r148292David Blaikie2012-01-171-2/+0
| | | | llvm-svn: 148294
* Remove unreachable code in Clang. (replace with llvm_unreachable where ↵David Blaikie2012-01-171-11/+8
| | | | | | appropriate or when GCC requires it) llvm-svn: 148292
* Introduce a CodeCompletionResult::CreateCodeCompletionString() thatArgyrios Kyrtzidis2012-01-171-20/+31
| | | | | | | | does not depend on Sema, it accepts an ASTContext and a Preprocessor. Step towards making clang_getCursorCompletionString not depend on Sema. llvm-svn: 148278
* More lambda work: semantic analysis of capturing 'this'. It's a bit ↵Eli Friedman2012-01-071-1/+1
| | | | | | complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.) llvm-svn: 147723
* Eliminate ObjCForwardProtocolDecl, which is redundant now thatDouglas Gregor2012-01-011-15/+6
| | | | | | ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
* Move the data that corresponds to the definition of a protocol into aDouglas Gregor2012-01-011-17/+22
| | | | | | | | | 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-11/+8
| | | | | | | covers both declarations (@class) and definitions (@interface) of an Objective-C class. llvm-svn: 147299
* Keep track of all declarations of an Objective-C class (both forwardDouglas Gregor2011-12-151-2/+2
| | | | | | | | | | declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" llvm-svn: 146679
* 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
* Introduce proper spacing after the Objective-C parameter qualifiersDouglas Gregor2011-11-091-11/+6
| | | | | | (bycopy, inout, etc.). Fixes <rdar://problem/10402900>. llvm-svn: 144157
* Refactor Sema::IsSimplyAccessible slightly, to work on a DeclContext rather ↵Douglas Gregor2011-11-031-5/+3
| | | | | | than a class llvm-svn: 143615
* Add a printing policy flag to suppress printing "<anonymous>::" priorDouglas Gregor2011-11-031-0/+1
| | | | | | | | | to types. Enable this flag for code completion, where knowing whether something is in an anonymous or inline namespace is actually not useful, since you don't have to type it anyway. Fixes <rdar://problem/10208818>. llvm-svn: 143599
* Provide result types for code completions that describe built-inDouglas Gregor2011-10-181-50/+88
| | | | | | expressions (this, sizeof, etc.). llvm-svn: 142424
* Add code completions for C++0x expressionsDouglas Gregor2011-10-181-1/+28
| | | | llvm-svn: 142357
* Don't format the code completion for parameters of block literalDouglas Gregor2011-10-181-24/+46
| | | | | | | arguments as block literal arguments; the block literal argument code completion should only go one level deep. Fixes <rdar://problem/10291294>. llvm-svn: 142335
* Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations toErik Verbruggen2011-10-141-0/+6
| | | | | | retrieve annotations from completion string. llvm-svn: 141953
* Added CXAvailability_NotAccessible to indicate that a declaration is ↵Erik Verbruggen2011-10-061-2/+10
| | | | | | available, but not accessible from the current code completion context. llvm-svn: 141278
* [libclang] Introduce CXCursor_CXXAccessSpecifier for C++'s ↵Argyrios Kyrtzidis2011-09-301-0/+1
| | | | | | | | public:/private:/protected: specifiers. Patch by Paolo Capriotti! llvm-svn: 140864
* Only print _Bool as 'bool' when 'bool' is defined as an object-likeDouglas Gregor2011-09-271-45/+56
| | | | | | macro whose only replacement token is '_Bool'. llvm-svn: 140656
* When 'bool' is not a built-in type but is defined as a macro, printDouglas Gregor2011-09-271-26/+18
| | | | | | | 'bool' rather than '_Bool' within types, to make things a bit more readable. Fixes <rdar://problem/10063263>. llvm-svn: 140650
* Removing a bunch of dead returns/breaks after llvm_unreachables.David Blaikie2011-09-231-1/+0
| | | | llvm-svn: 140407
* Switch assert(0/false) llvm_unreachable.David Blaikie2011-09-231-1/+1
| | | | llvm-svn: 140367
* Change all references of type ExprTy to Expr and get rid of the typedefs.Richard Trieu2011-09-091-5/+5
| | | | llvm-svn: 139347
* objective-c: this patch (re)introduces objective-c's default propertyFariborz Jahanian2011-08-311-6/+0
| | | | | | | | | | synthesis. This new feature is currently placed under -fobjc-default-synthesize-properties option and is off by default pending further testing. It will become the default feature soon. // rdar://8843851 llvm-svn: 138913
* objective-c: Treat top-level objective-c declarationsFariborz Jahanian2011-08-271-6/+5
| | | | | | | | | | , such as list of forward @class decls, in a DeclGroup node. Deal with its consequence throught clang. This is in preparation for more Sema work ahead. // rdar://8843851. Feel free to reverse if it breaks something important and I am unavailable. llvm-svn: 138709
* Restore patch I reversed in r138040. Known buildbotFariborz Jahanian2011-08-221-18/+19
| | | | | | failures are resolved. llvm-svn: 138234
* Revers r138040. Need to look at a few buildbot failures.Fariborz Jahanian2011-08-191-19/+18
| | | | llvm-svn: 138049
* objective-c: Bring objective-c handling of decl contextFariborz Jahanian2011-08-191-18/+19
| | | | | | | | | | to modernity. Instead of passing down individual context objects from parser to sema, establish decl context in parser and have sema access current context as needed. I still need to take of Doug's comment for minor cleanups. llvm-svn: 138040
* [libclang] Support code-completion inside macro arguments.Argyrios Kyrtzidis2011-08-181-3/+2
| | | | llvm-svn: 137973
* Do l-value conversion, etc., on a switch condition expression inJohn McCall2011-08-061-4/+5
| | | | | | | | | | ActOnStartOfSwitchStmt (i.e. before binding up a full-expression) instead of ActOnFinishSwitchStmt. Among other things, this means that property l-values are properly converted inside the full-expression. llvm-svn: 137014
* Add code completion to produce "else" blocks after an "if"Douglas Gregor2011-07-301-0/+55
| | | | | | statement. Fixes <rdar://problem/9229438>. llvm-svn: 136564
* When producing code completion results for variadic macros, fold theDouglas Gregor2011-07-301-4/+21
| | | | | | | variadic bit (", ..." or ", args...") into the prior placeholder, like we do with functions and methods. Fixes <rdar://problem/9740808>. llvm-svn: 136563
* Add the various parameter-passing keywords for Distributed ObjectsDouglas Gregor2011-07-301-5/+28
| | | | | | | (such as in, inout, byref, and oneway) to code completion results. Fixes <rdar://problem/8844158>. llvm-svn: 136562
* When performing code completion after at @interface, allow bothDouglas Gregor2011-07-301-19/+25
| | | | | | | | already-defined and forward-declared results. Already-defined results are fine because they could be the start of a category. Fixes <rdar://problem/9811691>. llvm-svn: 136559
* Eliminate a bunch of temporary strings.Benjamin Kramer2011-07-261-4/+4
| | | | llvm-svn: 136092
* Add new libclang API, clang_codeCompleteGetObjCSelector(), whichDouglas Gregor2011-07-261-2/+2
| | | | | | | provides the partial Objective-C selector used in a code completion. From Connor Wakamo! llvm-svn: 136084
* Added clang_getCursorReferenceNameRange to libclang to to retrieve parts ofDouglas Gregor2011-07-251-1/+1
| | | | | | a cursor reference, from Erik Verbruggen! llvm-svn: 135920
* remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner2011-07-231-33/+33
| | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852
* New libclang API to expose container type for code completion, fromDouglas Gregor2011-07-211-5/+12
| | | | | | Connor Wakamo! llvm-svn: 135651
OpenPOWER on IntegriCloud