#
af2a6ae4 |
| 18-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Selector::getIdentifierInfoForSlot() can return NULL values, a fact that was ignored in a few places (most notably, code completion). Introduce Selector::getNameForSlot() for the common case where we
Selector::getIdentifierInfoForSlot() can return NULL values, a fact that was ignored in a few places (most notably, code completion). Introduce Selector::getNameForSlot() for the common case where we only care about the name. Audit all uses of getIdentifierInfoForSlot(), switching many over to getNameForSlot(), fixing a few crashers.
Fixed <rdar://problem/8939352>, a code-completion crasher.
llvm-svn: 125977
show more ...
|
#
0e5d72f1 |
| 17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to t
I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs.
llvm-svn: 125718
show more ...
|
#
669a25ae |
| 17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion results for the Objective-C Key-Value Coding (KVC) and Key-Value Observing (KVO) protocols.
llvm-svn: 125696
|
#
b5f1e46d |
| 16-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When trying to provide a code completion item for a call to "super" in Objective-C, also look in the categories and class extensions of our superclasses. Fixes <rdar://problem/8853540>.
llvm-svn: 12
When trying to provide a code completion item for a call to "super" in Objective-C, also look in the categories and class extensions of our superclasses. Fixes <rdar://problem/8853540>.
llvm-svn: 125628
show more ...
|
#
24bbc462 |
| 15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion to cope with block types written without a prototype, e.g., ^() rather than ^(void). Fixes <rdar://problem/8875712>.
llvm-svn: 125608
|
#
f34a6f0f |
| 15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement a special code-completion pattern for "IBAction". Fixes <rdar://problem/8767704>.
llvm-svn: 125604
|
#
8003924d |
| 15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When code-completing within a list of declaration specifiers, separately handle the case of a local declaration-specifier list, including all types in the set of options. Fixes <rdar://problem/879073
When code-completing within a list of declaration specifiers, separately handle the case of a local declaration-specifier list, including all types in the set of options. Fixes <rdar://problem/8790735> and <rdar://problem/8662831>.
llvm-svn: 125594
show more ...
|
#
bcbf46c7 |
| 01-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Create a special allocator class for code completion, so that all of the string copying goes through a single place that can have associated state.
llvm-svn: 124698
|
#
304f9b08 |
| 01-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Provide constant strings for certain common code completion strings, eliminating the need to copy those strings.
llvm-svn: 124683
|
#
b278aafb |
| 01-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Allocate CodeCompletionString and all of its components in a BumpPtrAllocator, rather than manually new/delete'ing them. This optimization also allows us to avoid allocating memory for and copying co
Allocate CodeCompletionString and all of its components in a BumpPtrAllocator, rather than manually new/delete'ing them. This optimization also allows us to avoid allocating memory for and copying constant strings (e.g., "return", "class").
This also required embedding the priority and availability of results within the code completion string, to avoid extra memory allocation within libclang.
llvm-svn: 124673
show more ...
|
#
1d792650 |
| 08-Jan-2011 |
Alexis Hunt <alercah@gmail.com> |
Renamed CXXBaseOrMemberInitializer to CXXCtorInitializer. This is both shorter, more accurate, and makes it make sense for it to hold a delegating constructor call.
llvm-svn: 123084
|
#
87e92752 |
| 21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a major inconsistency in the representation of Objective-C classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the Decl
Fix a major inconsistency in the representation of Objective-C classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext.
With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST.
Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places.
llvm-svn: 122347
show more ...
|
#
6d810638 |
| 14-Dec-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added missing IgnoreParens().
llvm-svn: 121795
|
#
924a8f35 |
| 10-Dec-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added ParenType type node.
llvm-svn: 121488
|
#
b888acf4 |
| 09-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate duplicate code completions for properties.
llvm-svn: 121424
|
#
a3b23b02 |
| 09-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't walk the translation unit context to produce protocol names when global code completions are disabled (e.g., because they are cached). Also, make sure that forward-declared protocols are visite
Don't walk the translation unit context to produce protocol names when global code completions are disabled (e.g., because they are cached). Also, make sure that forward-declared protocols are visited when we look for all visible names within a declaration context.
Previously, we would end up with duplicate completions for protocols.
llvm-svn: 121416
show more ...
|
#
d583da04 |
| 04-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
More anonymous struct/union redesign. This one deals with anonymous field used in a constructor initializer list:
struct X { X() : au_i1(123) {} union { int au_i1; float au_f1; }; };
More anonymous struct/union redesign. This one deals with anonymous field used in a constructor initializer list:
struct X { X() : au_i1(123) {} union { int au_i1; float au_f1; }; };
clang will now deal with au_i1 explicitly as an IndirectFieldDecl.
llvm-svn: 120900
show more ...
|
#
b4a7c038 |
| 17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Do not produce "purely informative" code completion results for Objective-C message sends, which have only whitespace in their TypedText chunk. Such results have no purpose.
llvm-svn: 119569
|
#
928479e7 |
| 09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert the fix for PR8013.
That bug concerned the well-formedness of code such as (&ovl)(a, b, c). GCC rejects the code, while EDG accepts it. On further study of the standard, I see no support for
Revert the fix for PR8013.
That bug concerned the well-formedness of code such as (&ovl)(a, b, c). GCC rejects the code, while EDG accepts it. On further study of the standard, I see no support for EDG's position: in particular, C++ [over.over] does not list this as a context where we can take the address of an overloaded function, C++ [over.call.func] does not reference the address-of operator at any point, and C++ [expr.call] claims that the function argument in a call is either a function lvalue or a pointer-to-function; (&ovl) is neither.
llvm-svn: 118620
show more ...
|
#
8f225bb5 |
| 09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Handle overload resolution when calling an overloaded function set with, e.g., (&f)(a, b, c). Fixes PR8013.
llvm-svn: 118508
|
#
2927c0c8 |
| 09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion not to include out-of-line declarations and definitions in its results. The original declarations will be visible wherever they are declared.
llvm-svn: 118484
|
#
dc520b0f |
| 08-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
If an instance method messages is sending to an expression of type Class, and we statically can compute a bound on the actual type (e.g., because it's a send to the the magic "class" instance method)
If an instance method messages is sending to an expression of type Class, and we statically can compute a bound on the actual type (e.g., because it's a send to the the magic "class" instance method), code complete as if we were performing a class message send to that class.
llvm-svn: 118443
show more ...
|
#
05fcf84d |
| 02-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion to provide property results when the property can be used to automatically synthesize an ivar.
llvm-svn: 118052
|
#
c769d6e0 |
| 18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix the translation of the PCC_ForInit code-completion context for C++/C99/Objective-C, so that we properly include types. This fix affects global caching of code-completion results; without caching,
Fix the translation of the PCC_ForInit code-completion context for C++/C99/Objective-C, so that we properly include types. This fix affects global caching of code-completion results; without caching, the behavior was already correct.
llvm-svn: 116757
show more ...
|
#
8e3e8743 |
| 18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce code completion results for Objective-C methods, both when declaring methods and when sending messages to them, by bringing all of the selector into TypedCheck chunks in the completion resu
Introduce code completion results for Objective-C methods, both when declaring methods and when sending messages to them, by bringing all of the selector into TypedCheck chunks in the completion result. This way, we can improve the sorting of these results to account for the full selector name rather than just the first chunk.
llvm-svn: 116746
show more ...
|