#
1fcf4921 |
| 22-Mar-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
documentation parsing. Provide code completion comment for self.GetterName where GetterName is the getter method for a property with name different from the property name (declared via a property
documentation parsing. Provide code completion comment for self.GetterName where GetterName is the getter method for a property with name different from the property name (declared via a property getter attribute) // rdar://12791315
llvm-svn: 177744
show more ...
|
#
3e56dd4f |
| 14-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't try to typo-correct 'super' in an objc method.
This created 2 issues:
1) Performance issue, since typo-correction with PCH/modules is rather expensive. 2) Correctness issue, since if it manag
Don't try to typo-correct 'super' in an objc method.
This created 2 issues:
1) Performance issue, since typo-correction with PCH/modules is rather expensive. 2) Correctness issue, since if it managed to "correct" 'super' then bogus compiler errors would be emitted, like this:
3.m:8:3: error: unknown type name 'super'; did you mean 'super1'? super.x = 0; ^~~~~ super1 t3.m:5:13: note: 'super1' declared here typedef int super1; ^ t3.m:8:8: error: expected identifier or '(' super.x = 0; ^
llvm-svn: 177126
show more ...
|
#
5ea95770 |
| 09-Mar-2013 |
John McCall <rjmccall@apple.com> |
Add TagDecl::hasNameForLinkage(), which is true if the tag is non-anonymous or is defined in a typedef of itself.
llvm-svn: 176742
|
#
61e36818 |
| 07-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
Add code completion for @import <rdar://problem/13344306>.
llvm-svn: 176666
|
#
15a0b55c |
| 28-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C code completion. Property accessors may not have their own code completion comments. Use those in their properties in this case. // rdar://12791315
llvm-svn: 176271
|
#
09c9e811 |
| 20-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[preprocessor] Split the MacroInfo class into two separate concepts, MacroInfo class for the data specific to a macro definition (e.g. what the tokens are), and MacroDirective class which encapsulate
[preprocessor] Split the MacroInfo class into two separate concepts, MacroInfo class for the data specific to a macro definition (e.g. what the tokens are), and MacroDirective class which encapsulates the changes to the "macro namespace" (e.g. the location where the macro name became active, the location where it was undefined, etc.)
(A MacroDirective always points to a MacroInfo object.)
Usually a macro definition (MacroInfo) is where a macro name becomes active (MacroDirective) but splitting the concepts allows us to better model the effect of modules to the macro namespace (also as a bonus it allows better modeling of push_macro/pop_macro #pragmas). Modules can have their own macro history, separate from the local (current translation unit) macro history; MacroDirectives will be used to model the macro history (changes to macro namespace).
For example, if "@import A;" imports macro FOO, there will be a new local MacroDirective created to indicate that "FOO" became active at the import location. Module "A" itself will contain another MacroDirective in its macro history (at the point of the definition of FOO) and both MacroDirectives will point to the same MacroInfo object.
Introducing the separation of macro concepts is the first part towards better modeling of module macros.
llvm-svn: 175585
show more ...
|
#
6adc78e0 |
| 18-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Replace TypeLoc llvm::cast support to be well-defined.
The TypeLoc hierarchy used the llvm::cast machinery to perform undefined behavior by casting pointers/references to TypeLoc objects to derived
Replace TypeLoc llvm::cast support to be well-defined.
The TypeLoc hierarchy used the llvm::cast machinery to perform undefined behavior by casting pointers/references to TypeLoc objects to derived types and then using the derived copy constructors (or even returning pointers to derived types that actually point to the original TypeLoc object).
Some context is in this thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056804.html Though it's spread over a few months which can be hard to read in the mail archive.
llvm-svn: 175462
show more ...
|
#
6cfb1537 |
| 14-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove a const_cast by propagating constness to called functions
llvm-svn: 175161
|
#
4938f276 |
| 09-Feb-2013 |
Jordan Rose <jordan_rose@apple.com> |
Remove some stray uses of <ctype.h> functions.
These are causing assertions on some MSVC builds.
llvm-svn: 174805
|
#
52e0de4c |
| 31-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
When code completing in a statement, parenthesized expression, or Objective-C message receiver, the user is as likely to want to write a type name as any other declaration, so give types the same pri
When code completing in a statement, parenthesized expression, or Objective-C message receiver, the user is as likely to want to write a type name as any other declaration, so give types the same priority as other declarations. Fixes <rdar://problem/12480600>.
llvm-svn: 174038
show more ...
|
#
0a0e2b36 |
| 31-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Allow the computation of the base priority for a declaration code completion result to consider the completion context
llvm-svn: 174037
|
#
ed1f5970 |
| 30-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Add "instancetype" as a code completion result for the return type of an Objective-C method. Fixes <rdar://problem/13069990>.
llvm-svn: 173905
|
#
41778c3f |
| 30-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
The instance methods of the root class of an Objective-C hieararchy can be messaged via the metaclass. Provide code completions for this case. Fixes <rdar://problem/12560296>.
llvm-svn: 173903
|
#
fe0483db |
| 23-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Use 'const Decl *' throughout code completion in Sema
llvm-svn: 173277
|
#
048fbfa3 |
| 16-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Rework the traversal of Objective-C categories and extensions to consider (sub)module visibility.
The bulk of this change replaces myriad hand-rolled loops over the linked list of Objective-C catego
Rework the traversal of Objective-C categories and extensions to consider (sub)module visibility.
The bulk of this change replaces myriad hand-rolled loops over the linked list of Objective-C categories/extensions attached to an interface declaration with loops using one of the four new category iterator kinds:
visible_categories_iterator: Iterates over all visible categories and extensions, hiding any that have their "hidden" bit set. This is by far the most commonly used iterator.
known_categories_iterator: Iterates over all categories and extensions, ignoring the "hidden" bit. This tends to be used for redeclaration-like traversals.
visible_extensions_iterator: Iterates over all visible extensions, hiding any that have their "hidden" bit set.
known_extensions_iterator: Iterates over all extensions, whether they are visible to normal name lookup or not.
The effect of this change is that any uses of the visible_ iterators will respect module-import visibility. See the new tests for examples.
Note that the old accessors for categories and extensions are gone; there are *Raw() forms for some of them, for those (few) areas of the compiler that have to manipulate the linked list of categories directly. This is generally discouraged.
Part two of <rdar://problem/10634711>.
llvm-svn: 172665
show more ...
|
#
f857950d |
| 12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
#
bdc80de7 |
| 11-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Constify parameter of clang::getCursorKindForDecl
llvm-svn: 172249
|
#
2bf7fdb7 |
| 02-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
s/CPlusPlus0x/CPlusPlus11/g
llvm-svn: 171367
|
Revision tags: llvmorg-3.2.0 |
|
#
4442605f |
| 20-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here.
llvm-svn: 170721
|
#
7967fc14 |
| 19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.
llvm-svn: 170500
|
#
ff7d47a3 |
| 19-Dec-2012 |
David Blaikie <dblaikie@gmail.com> |
Change DeclContextLookup(Const)Result to (Mutable)ArrayRef<NamedDecl*>, as per review discussion in r170365
This does limit these typedefs to being sequences, but no current usage requires them to b
Change DeclContextLookup(Const)Result to (Mutable)ArrayRef<NamedDecl*>, as per review discussion in r170365
This does limit these typedefs to being sequences, but no current usage requires them to be contiguous (we could expand this to a more general iterator pair range concept at some point).
Also, it'd be nice if SmallVector were constructible directly from an ArrayRef but this is a bit tricky since ArrayRef depends on SmallVectorBaseImpl for the inverse conversion. (& generalizing over all range-like things, while nice, would require some nontrivial SFINAE I haven't thought about yet)
llvm-svn: 170482
show more ...
|
Revision tags: llvmorg-3.2.0-rc3 |
|
#
3a02247d |
| 04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/util
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files.
I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
dd433f0b |
| 18-Oct-2012 |
Axel Naumann <Axel.Naumann@cern.ch> |
From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources.
llvm-svn: 166208
|
#
8cb17465 |
| 09-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
If a macro has been #undef'd in a precompiled header, we still need to write out the macro history for that macro. Similarly, we need to cope with reading a macro definition that has been #undef'd.
If a macro has been #undef'd in a precompiled header, we still need to write out the macro history for that macro. Similarly, we need to cope with reading a macro definition that has been #undef'd.
Take advantage of this new ability so that global code-completion results can refer to #undef'd macros, rather than losing them entirely. For multiply defined/#undef'd macros, we will still get the wrong result, but it's better than getting no result.
llvm-svn: 165502
show more ...
|
#
50e5b1da |
| 05-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce CXCursor_ModuleImportDecl cursor kind, used for a module import declaration.
llvm-svn: 165277
|