summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCodeComplete.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Objective-C methods can be variadic, too. Who knew.Douglas Gregor2009-12-231-0/+7
| | | | llvm-svn: 91951
* Extend code-completion results with the type of each resultDouglas Gregor2009-12-181-0/+36
| | | | llvm-svn: 91702
* Shift things around so that it's easier to recover from a missingJohn McCall2009-12-161-22/+13
| | | | | | | | | function in a C++ call using an arbitrary call-expression type. Actually exploit this to fix the recovery implemented earlier. The diagnostic is still iffy, though. llvm-svn: 91538
* update to match LLVM API change:Chris Lattner2009-12-151-7/+0
| | | | | | | | | Remove isPod() from DenseMapInfo, splitting it out to its own isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91422
* Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gaveJeffrey Yasskin2009-12-121-1/+1
| | | | | | no extra safety anyway. llvm-svn: 91207
* When code completion of an overload set fails, produce results for ordinary ↵Douglas Gregor2009-12-111-5/+16
| | | | | | name lookup instead. llvm-svn: 91141
* Add a function's cv-qualifiers to the code-completion results as anDouglas Gregor2009-12-111-4/+24
| | | | | | informative chunk. llvm-svn: 91139
* Teach code completion to instantiate templates when it needs toDouglas Gregor2009-12-111-1/+6
| | | | llvm-svn: 91138
* Member function templates can occur after . or ->Douglas Gregor2009-12-111-1/+2
| | | | llvm-svn: 91137
* Tweak code-completion results by suppressing class templateDouglas Gregor2009-12-111-8/+15
| | | | | | | | | specializations and class template partial specializations (they're never named directly). Also, member access expressions only refer to value declarations (fields, functions, enumerators, etc.) and Objective-C property declarations; filter out everything else. llvm-svn: 91133
* Class template (partial) specializations should not show up in code ↵Douglas Gregor2009-12-111-0/+5
| | | | | | completion results llvm-svn: 91125
* When in an Objective-C instance method, super is a valid code-completion resultDouglas Gregor2009-12-071-0/+14
| | | | llvm-svn: 90758
* Code completion for Objective-C @ keywords that are statements or expressionsDouglas Gregor2009-12-071-1/+90
| | | | llvm-svn: 90757
* Code completion for Objective-C @ directivesDouglas Gregor2009-12-071-0/+88
| | | | llvm-svn: 90756
* PointerUnion == PointerUnion does not do what I thought it did. Also, fix a ↵Douglas Gregor2009-12-061-4/+4
| | | | | | thinko in a PointerUnion::get call. llvm-svn: 90719
* Switch the std::multimap shadow map used in code completion to anDouglas Gregor2009-12-061-16/+179
| | | | | | | llvm::DenseMap, for a 20% performance improvement in the Cocoa-big-list performance benchmark. llvm-svn: 90715
* Avoid trashing two temporary strings.Benjamin Kramer2009-12-051-2/+2
| | | | llvm-svn: 90663
* strcasecmp is unportable.Benjamin Kramer2009-12-051-1/+1
| | | | llvm-svn: 90662
* Improve the performance of code completion by 2.2x when completing for ↵Douglas Gregor2009-12-051-6/+46
| | | | | | ordinary names with Cocoa.h included, by drastically improving the performance of our results sorting. llvm-svn: 90661
* Switch the clang-to-CIndex interface for code-completion to a binary format, ↵Douglas Gregor2009-12-011-18/+19
| | | | | | for a massive speedup llvm-svn: 90209
* Remove all of Sema's explicit uses of OverloadedFunctionDecl except forJohn McCall2009-11-301-11/+0
| | | | | | those associated with TemplateNames. llvm-svn: 90162
* Remove useless c_str() calls in SemaCodeComplete.Benjamin Kramer2009-11-291-17/+17
| | | | llvm-svn: 90088
* Rip out TemplateIdRefExpr and make UnresolvedLookupExpr and John McCall2009-11-241-2/+4
| | | | | | | | | | | | DependentScopeDeclRefExpr support storing templateids. Unite the common code paths between ActOnDeclarationNameExpr and ActOnTemplateIdExpr. This gets us to a point where we don't need to store function templates in the AST using TemplateNames, which is critical to ripping out OverloadedFunction. Also resolves a few FIXMEs. llvm-svn: 89785
* Encapsulate "an array of TemplateArgumentLocs and two angle bracket ↵John McCall2009-11-231-6/+4
| | | | | | | | | | locations" into a new class. Use it pervasively throughout Sema. My fingers hurt. llvm-svn: 89638
* Consider a FunctionTemplate to be an overload all on its lonesome. TrackJohn McCall2009-11-221-2/+4
| | | | | | this information through lookup rather than rederiving it. llvm-svn: 89570
* "Incremental" progress on using expressions, by which I mean totally rippingJohn McCall2009-11-211-4/+3
| | | | | | | | | | | | | | | | | | | | | | into pretty much everything about overload resolution in order to wean BuildDeclarationNameExpr off LookupResult::getAsSingleDecl(). Replace UnresolvedFunctionNameExpr with UnresolvedLookupExpr, which generalizes the idea of a non-member lookup that we haven't totally resolved yet, whether by overloading, argument-dependent lookup, or (eventually) the presence of a function template in the lookup results. Incidentally fixes a problem with argument-dependent lookup where we were still performing ADL even when the lookup results contained something from a block scope. Incidentally improves a diagnostic when using an ObjC ivar from a class method. This just fell out from rewriting BuildDeclarationNameExpr's interaction with lookup, and I'm too apathetic to break it out. The only remaining uses of OverloadedFunctionDecl that I know of are in TemplateName and MemberExpr. llvm-svn: 89544
* Objective-C code completion within properties after "setter = " orDouglas Gregor2009-11-191-31/+139
| | | | | | "getter = ", to provide suitable method names. llvm-svn: 89334
* Improve code completion for Objective-C message sends, so that weDouglas Gregor2009-11-191-22/+76
| | | | | | | | | | | provide completion results before each keyword argument, e.g., [foo Method:arg WithArg1:arg1 WithArg2:arg2] We now complete before "WithArg1" and before "WithArg2", in addition to completing before "Method". llvm-svn: 89290
* Improve the accuracy of code completion for the attributes of an @property ↵Douglas Gregor2009-11-191-8/+38
| | | | | | declaration, so that we don't produce completions for attributes that would conflict with already-specified attributes llvm-svn: 89281
* Improve code-completion results for the flags in an @propertyDouglas Gregor2009-11-191-7/+33
| | | | | | | | | declaration by providing patterns for "getter = <method>" and "setter = <method>". As part of this, invented a new "pattern" result kind that is merely a semantic string. The "pattern" result kind should help with other kinds of code templates. llvm-svn: 89277
* Rename CodeCompleteObjCProperty to something more specific. No functionality ↵Douglas Gregor2009-11-181-1/+1
| | | | | | change. llvm-svn: 89267
* Code completion after @dynamicDouglas Gregor2009-11-181-1/+1
| | | | llvm-svn: 89265
* Code completion for Objective-C @synthesized.Douglas Gregor2009-11-181-10/+85
| | | | llvm-svn: 89259
* Implement code completion for Objective-C category names in @interfaceDouglas Gregor2009-11-181-1/+67
| | | | | | and @implementation declarations. llvm-svn: 89223
* Code completion for Objective-C class names after @interface,Douglas Gregor2009-11-181-0/+70
| | | | | | | @implementation, and in the declaration of the superclass of an @interface. llvm-svn: 89207
* Code completion after @property, providing the names of forward-declared ↵Douglas Gregor2009-11-181-3/+19
| | | | | | properties llvm-svn: 89196
* Code completion for Objective-C properly listsDouglas Gregor2009-11-181-0/+46
| | | | llvm-svn: 89194
* Code completion for member accesses that involve Objective-C properties and ↵Douglas Gregor2009-11-181-27/+107
| | | | | | instance variables llvm-svn: 89182
* Finish code completion for Objective-C message sendsDouglas Gregor2009-11-181-14/+32
| | | | llvm-svn: 89168
* Rename Objective-C message send completion functions to indicate that we're ↵Douglas Gregor2009-11-171-10/+8
| | | | | | referring to message sends llvm-svn: 89164
* Refactor code-completion support for message sends, collecting theDouglas Gregor2009-11-171-84/+97
| | | | | | | | | code to find and add Objective-C methods (starting at an ObjCContainerDecl) into a single, static function. Also, make sure that we search into the implementations of classes and categories to find even more methods. llvm-svn: 89163
* Implement code completion for Objective-C message sends to "super".Douglas Gregor2009-11-171-2/+53
| | | | llvm-svn: 89112
* Augment code-completion results to provide argument names andDouglas Gregor2009-11-171-0/+33
| | | | | | placeholder arguments for Objective-C message sends. llvm-svn: 89103
* Instead of hanging a using declaration's target decls directly off the using John McCall2009-11-171-1/+1
| | | | | | | decl, create shadow declarations and put them in scope like normal. Work in progress. llvm-svn: 89048
* Rework Sema code completion interface.Daniel Dunbar2009-11-131-61/+55
| | | | | | | | | | | | | - Provide Sema in callbacks, instead of requiring it in constructor. This eliminates the need for a factory function. Clients now just pass the object to consume the results in directly. - CodeCompleteConsumer is cheap to construct, so building it whenever we are doing code completion is reasonable. Doug, please review. llvm-svn: 87099
* Make sure that we look into nested, transparent declaration contextsDouglas Gregor2009-11-091-2/+9
| | | | | | | when looking for a name within a given DeclContext. Now enumerators will show up in code-completion results. llvm-svn: 86591
* Add basic code completion support for ObjC messages.Steve Naroff2009-11-071-0/+111
| | | | | | Still a work in progress... llvm-svn: 86323
* Various improvements to Clang's code-completion infrastructure:Douglas Gregor2009-11-071-45/+68
| | | | | | | | | | | | | | - Introduce more code-completion string "chunk" kinds that describe symbols, the actual text that the user is expected to type, etc. - Make the generation of macro results optional, since it can be slow - Make code-completion accessible through the C API, marshalling the code-completion results through a temporary file (ick) to maintain process separation. The last doesn't have tests yet. llvm-svn: 86306
* Include macros in code-completion resultsDouglas Gregor2009-10-301-13/+77
| | | | llvm-svn: 85594
* Track source information for template arguments and template specializationJohn McCall2009-10-291-1/+1
| | | | | | | types. Preserve it through template instantiation. Preserve it through PCH, although TSTs themselves aren't serializable, so that's pretty much meaningless. llvm-svn: 85500
OpenPOWER on IntegriCloud