#
1b035bbe |
| 18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions of Objective-C method declarations (after - or +), always traverse superclasses and all categories. The programmer may want to complete a method from *anywhere*.
llvm
When providing code completions of Objective-C method declarations (after - or +), always traverse superclasses and all categories. The programmer may want to complete a method from *anywhere*.
llvm-svn: 116723
show more ...
|
#
392a84bd |
| 13-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate the use of ObjCSuperExpr in code completion.
llvm-svn: 116436
|
#
36e3b5c7 |
| 11-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Switch c-index-test from clang_codeComplete() over to clang_codeCompleteAt(). This uncovered a few issues with the latter:
- ASTUnit wasn't saving/restoring diagnostic state appropriately between
Switch c-index-test from clang_codeComplete() over to clang_codeCompleteAt(). This uncovered a few issues with the latter:
- ASTUnit wasn't saving/restoring diagnostic state appropriately between reparses and code completions. - "Overload" completions weren't being passed through to the client
llvm-svn: 116241
show more ...
|
#
8ed5b770 |
| 08-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix the mapping of vertical-space cursor kinds to produce a newline, rather than a space.
llvm-svn: 116097
|
Revision tags: llvmorg-2.8.0 |
|
#
af25cfaa |
| 02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing a block literal as a code completion for a function/method argument, include the parameter name and always include parentheses (even for zero-parameter blocks). Otherwise, the block li
When providing a block literal as a code completion for a function/method argument, include the parameter name and always include parentheses (even for zero-parameter blocks). Otherwise, the block literal placeholder '^' can look very weird.
llvm-svn: 115444
show more ...
|
Revision tags: llvmorg-2.8.0-rc3 |
|
#
0ac41389 |
| 23-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Synchronize globally-cached code completion results with the results provided when the optimization is disabled. In particular, split the completion context CCC_Other into two contexts: CCC_Other, wh
Synchronize globally-cached code completion results with the results provided when the optimization is disabled. In particular, split the completion context CCC_Other into two contexts: CCC_Other, which means that it's an undisclosed context for which any other results are unwelcome, and CCC_Recovery, which is used in recovery cases.
Since we're now using the completion context within the completion results builder, make sure that it's always set to something.
Fixes <rdar://problem/8470644>.
llvm-svn: 114704
show more ...
|
#
0212fd71 |
| 21-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add code completion for C++ constructors wherever we see the class (or class template) and are in a context where we can have a value.
llvm-svn: 114441
|
#
7466127a |
| 21-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions for an argument in an Objective-C message send, e.g.,
[[NSString alloc] initWithCString:<CC>
look up all of the possible methods and determine the preferred type f
When providing code completions for an argument in an Objective-C message send, e.g.,
[[NSString alloc] initWithCString:<CC>
look up all of the possible methods and determine the preferred type for the argument expression based on the type of the corresponding parameter.
llvm-svn: 114379
show more ...
|
#
f86e4da7 |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Refactor code completion for expressions that occur as arguments in Objective-C message sends. There is no functionality change here; this is prep work for using the parameter types to help guide the
Refactor code completion for expressions that occur as arguments in Objective-C message sends. There is no functionality change here; this is prep work for using the parameter types to help guide the expression results when code-completing the argument.
llvm-svn: 114375
show more ...
|
#
5fb901de |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Code completion has no reason to prefer values over types, especially at the statement level or in Objective-C message receivers. Therefore, just give types and declarations the same basic priority,
Code completion has no reason to prefer values over types, especially at the statement level or in Objective-C message receivers. Therefore, just give types and declarations the same basic priority, and adjust from there.
llvm-svn: 114374
show more ...
|
#
50832e02 |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Slight refactoring in code-completion results generation, placing the various priority adjustments for preferences (based on selectors, types) in a single function to make extension easier.
llvm-svn
Slight refactoring in code-completion results generation, placing the various priority adjustments for preferences (based on selectors, types) in a single function to make extension easier.
llvm-svn: 114370
show more ...
|
#
db5c09a8 |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Get rid of the lame attempt to prioritize "void" functions at statement context; it really isn't helpful in practice (remember printf!) and we'll be doing other adjustments for statements very soon.
Get rid of the lame attempt to prioritize "void" functions at statement context; it really isn't helpful in practice (remember printf!) and we'll be doing other adjustments for statements very soon.
llvm-svn: 114358
show more ...
|
#
9dcf58a5 |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak priorities for some types and macros: - In Objective-C, we prefer BOOL to bool for historic reasons; slightly penalize "bool". - Treat Nil macro as a NULL pointer constant. - Treat YES,
Tweak priorities for some types and macros: - In Objective-C, we prefer BOOL to bool for historic reasons; slightly penalize "bool". - Treat Nil macro as a NULL pointer constant. - Treat YES, NO, true, and false macros as constants. - Treat the bool macro as a type.
llvm-svn: 114356
show more ...
|
Revision tags: llvmorg-2.8.0-rc2 |
|
#
eda7e545 |
| 18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Continue parsing more postfix expressions, even after semantic errors. Improves code completion in yet another case.
llvm-svn: 114255
|
#
1154e27b |
| 16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't add two code-completion results for the same selector; it doesn't add any value. Instead, we'll just take the first method with that selector that we find and create a completion for it.
llvm-
Don't add two code-completion results for the same selector; it doesn't add any value. Instead, we'll just take the first method with that selector that we find and create a completion for it.
llvm-svn: 114082
show more ...
|
#
f37c9498 |
| 16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When collecting Objective-C methods for message send completions, be sure to visit the protocols of protocols.
llvm-svn: 114079
|
#
bfcea8b5 |
| 16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for Objective-C class message sends that are missing the opening bracket '[', e.g.,
NSArray <CC>
at function scope. Previously, we would only give trivial completions (c
Implement code completion for Objective-C class message sends that are missing the opening bracket '[', e.g.,
NSArray <CC>
at function scope. Previously, we would only give trivial completions (const, volatile, etc.), because we're in a "declaration name" scope. Now, we also provide completions for class methods of NSArray, e.g.,
alloc
Note that we already had support for this after the first argument, e.g.,
NSArray method:x <CC>
would get code completion for class methods of NSArray whose selector starts with "method:". This was already present because we recover as if NSArray method:x were a class message send missing the opening bracket (which was committed in r114057).
llvm-svn: 114078
show more ...
|
#
ed0b69dc |
| 15-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve code completion for Objective-C message sends when the opening '[' is missing. Prior commits improving recovery also improved code completion beyond the first selector, e.g., at or after the
Improve code completion for Objective-C message sends when the opening '[' is missing. Prior commits improving recovery also improved code completion beyond the first selector, e.g., at or after the "to" in
calculator add:x to:y
but not after "calculator". We now provide the same completions for
calculator <CC>
that we would for
[calculator <CC>
if "calculator" is an expression whose type is something that can receive Objective-C messages.
This code completion works for instance and super message sends, but not class message sends.
llvm-svn: 113976
show more ...
|
#
5e35d591 |
| 14-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new code-completion context for a parenthesized expression, e.g., after the '(' that could also be a type cast. Here, we provide types as code-completion results in C/Objective-C (C++ alr
Introduce a new code-completion context for a parenthesized expression, e.g., after the '(' that could also be a type cast. Here, we provide types as code-completion results in C/Objective-C (C++ already had them), although we wouldn't in a normal expression context.
llvm-svn: 113904
show more ...
|
#
f3af3113 |
| 09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to walk the base and member initializers of a constructor, in source order. Also introduces a new reference kind for class members, which is used here (for member initializers) and wil
Teach libclang to walk the base and member initializers of a constructor, in source order. Also introduces a new reference kind for class members, which is used here (for member initializers) and will also be used for designated initializers and offsetof.
llvm-svn: 113545
show more ...
|
#
67da50e1 |
| 08-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing a completion for a function/method parameter of block pointer type, actually provide a usable block literal expression.
llvm-svn: 113431
|
Revision tags: llvmorg-2.8.0-rc1 |
|
#
9795b391 |
| 04-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
zap dead code.
llvm-svn: 113074
|
Revision tags: llvmorg-2.8.0-rc0 |
|
#
09c0eb15 |
| 03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Synchronize code-completion cursor kinds with indexing cursor kinds. How shameful that this code was duplicated!
llvm-svn: 113033
|
#
0ef508d3 |
| 01-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the lis
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is needed to maintain the lexical information of the original source.
Fixes <rdar://problem/8380046>.
llvm-svn: 112691
show more ...
|
#
400f5976 |
| 31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When provide code completions for a variadic Objective-C method declaration send or a variadic function call, collapse the ", ..." into the parameter before it, so that we don't get a second placehol
When provide code completions for a variadic Objective-C method declaration send or a variadic function call, collapse the ", ..." into the parameter before it, so that we don't get a second placeholder.
llvm-svn: 112579
show more ...
|