| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
TemplateTemplateParmDecls of alias templates
TemplateTemplateParmDecls of alias templates ended-up serialized as 'file-level decls' which was causing a crash while trying to index a PCH/module file that contained them.
Commit makes sure TemplateTemplateParmDecls are not recorded as such kind of decls.
Fixes crash of rdar://36608297
Differential Revision: https://reviews.llvm.org/D42588
llvm-svn: 323549
|
| |
|
|
|
|
| |
Convert most uses to range-for loops. No functionality change intended.
llvm-svn: 320954
|
| |
|
|
|
|
|
|
|
| |
The 'decl' role is more canonical than the 'ref'. This helps us establish the
'specialization-of' relation just by looking at decls or defs.
rdar://31884960
llvm-svn: 317832
|
| |
|
|
|
|
|
|
| |
rdar://33058798
Differential Revision: https://reviews.llvm.org/D38755
llvm-svn: 315367
|
| |
|
|
|
|
|
|
|
|
|
| |
In dependent contexts we end up referencing these, so make sure they
have USRs, and have their declarations indexed. For the most part they
behave like typedefs, but we also need to worry about having multiple
using declarations with the same "name".
rdar://problem/33883650
llvm-svn: 311053
|
| |
|
|
|
|
|
|
|
|
|
| |
CXXDeductionGuideDecls can't be referenced so there's no need to output a symbol occurrence for them.
Also handle DeducedTemplateSpecializationTypeLocs in the TypeIndexer so we don't miss the symbol occurrences of the corresponding template decls.
Patch by Nathan Hawes!
Differential Revision: https://reviews.llvm.org/D36641
llvm-svn: 310933
|
| |
|
|
|
|
|
|
| |
class template specialization
rdar://33122110
llvm-svn: 307074
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
of class template specializations
This commit fixes an issue where a forward declaration of a class template
specialization was not related to the base template. We need to relate even
forward declarations because specializations don't have to be defined.
rdar://32869409
Differential Revision: https://reviews.llvm.org/D34462
llvm-svn: 305996
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"specializationOf" relation if they pseudo-override a type in the base template
This commit fixes an issue where Xcode's renaming engine couldn't find the
reference to the second occurrence of "InnerClass" in this example:
template<typename T> struct Ts { template<typename U> struct InnerClass { }; };
template<> struct Ts<int> {
template<typename U> struct InnerClass; // This occurrence wasn't renamed
};
rdar://31884960
Differential Revision: https://reviews.llvm.org/D34392
llvm-svn: 305911
|
| |
|
|
|
|
|
|
| |
The global C++17 binding declarations should be indexed as variable symbols.
Differential Revision: https://reviews.llvm.org/D33920
llvm-svn: 305508
|
| |
|
|
|
|
|
|
|
|
| |
static_assert declarations have to be visited while indexing so that we can
gather the references to declarations that are present in their assert
expression.
Differential Revision: https://reviews.llvm.org/D33913
llvm-svn: 305504
|
| |
|
|
|
|
| |
rdar://32323724
llvm-svn: 303568
|
| |
|
|
|
|
| |
rdar://32323386
llvm-svn: 303563
|
| |
|
|
|
|
| |
rdar://32323315
llvm-svn: 303559
|
| |
|
|
|
|
|
|
| |
the reference to the namespace
rdar://32323190
llvm-svn: 303555
|
| |
|
|
|
|
| |
rdar://32195226
llvm-svn: 303048
|
| |
|
|
|
|
|
|
| |
Also ensure that class template specialization arguments are covered
rdar://31812032
llvm-svn: 302918
|
| |
|
|
|
|
|
|
|
|
| |
specializations that 'override' declarations in the base template should use
the 'specializationOf' relation instead of 'specializationOf | overrideOf'.
The indexer relations are meant to be orthogonal, so 'specializationOf' is
better than the combined relation.
llvm-svn: 302136
|
| |
|
|
| |
llvm-svn: 301548
|
| |
|
|
|
|
| |
rdar://31758344
llvm-svn: 301315
|
| |
|
|
|
|
| |
rdar://31603531
llvm-svn: 301310
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that 'override' declarations in the base template should be recorded
This can be used for improved "go to definition" feature in Xcode.
rdar://31604739
Differential Revision: https://reviews.llvm.org/D32020
llvm-svn: 301180
|
| |
|
|
|
|
|
|
|
| |
purposes
- Ignore decls marked as 'generated_declaration'
- Include the 'defined_in' in the USR for additional namespacing
llvm-svn: 300949
|
| |
|
|
| |
llvm-svn: 300948
|
| |
|
|
|
|
|
|
|
|
| |
relationship
rdar://31603531
Differential Revision: https://reviews.llvm.org/D32010
llvm-svn: 300832
|
| |
|
|
|
|
|
|
|
|
| |
its underlying tag type
In such a case, as when using the NS_ENUM macro, for indexing purposes treat the typedef as 'transparent',
meaning we treat its references as symbols of the underlying tag symbol.
Also provide a libclang API to check for such typedefs.
llvm-svn: 298392
|
| |
|
|
|
|
|
|
|
| |
where its name appears in definitions and declarations
Patch by Nathan Hawes!
https://reviews.llvm.org/D30730
llvm-svn: 298170
|
| |
|
|
|
|
|
|
|
|
|
| |
related property getter/setter role fixes
This enhances the AST to keep track of locations of the names in those ObjC property attributes, and reports them for indexing.
Patch by Nathan Hawes!
https://reviews.llvm.org/D30907
llvm-svn: 297972
|
| |
|
|
|
|
|
|
|
| |
declarations
- Report the typedef reference occurrence
- Mark super or protocol references as 'implicit' when they come from a typedef.
llvm-svn: 296974
|
| |
|
|
|
|
|
|
|
|
|
|
| |
associated ivars.
Related synthesized properties with the ivar they use with the 'accessor' relation, and make sure
we mark them 'implicit' when appropriate.
Patch by Nathan Hawes!
https://reviews.llvm.org/D30012
llvm-svn: 295416
|
| |
|
|
|
|
|
|
|
| |
location.
Instead of using the location of the beginning '-'/'+'.
This is consistent with location used for function decls and ObjC method calls where we use the base name as the location as well.
llvm-svn: 293134
|
| |
|
|
|
|
| |
We currently are unable to get a USR for those and it doesn't seem useful to try to index them.
llvm-svn: 291705
|
| |
|
|
|
|
| |
properties with IBOutletCollection.
llvm-svn: 291703
|
| |
|
|
|
|
|
|
|
|
|
| |
getters/setters
- Add entries for protocols on categories
- Add relation between categories and class they extend
- Add relation between getters/setters and their corresponding property
- Use category name location as the location of category decls/defs if it has one
llvm-svn: 285120
|
| |
|
|
|
|
| |
No functional change is intended, just a small refactoring.
llvm-svn: 273647
|
| |
|
|
|
|
|
|
| |
ObjCProtocolRef declarations, and fix related crash.
rdar://25035376
llvm-svn: 262985
|
| |
|
|
|
|
| |
protocols.
llvm-svn: 262584
|
|
|
introduce it into the clangIndex library.
It is a general goodness for libclang itself to mostly be a wrapper of functionality provided by the libraries.
llvm-svn: 260760
|