Alex Lorenz
4bbce51539
[index] The references to enum constants from member enums that are
...
from template instantiations should refer to the enum constant in the pattern
enum in the base template
rdar://32325459
llvm-svn: 303651
2017-05-23 16:47:01 +00:00
Alex Lorenz
9d60520608
[index] The references to member enums from template instantiations should
...
refer to the pattern member enum in the base template
rdar://32325459
llvm-svn: 303650
2017-05-23 16:35:50 +00:00
Alex Lorenz
fcbae3a308
[index] The references to type aliases and typedefs from template
...
instantiations should refer to the pattern type aliases / typedefs in the base
templates
rdar://32325459
llvm-svn: 303648
2017-05-23 16:27:42 +00:00
Alex Lorenz
73e27a6031
[index] The references to fields from nested records in template instantiations
...
should refer to the pattern fields in the nested records in the base templates
rdar://32352429
llvm-svn: 303647
2017-05-23 16:25:06 +00:00
Alex Lorenz
2109d436ab
[index] The references to records from template instantiations should refer
...
to the pattern records in the base templates
rdar://32325459
llvm-svn: 303646
2017-05-23 16:23:28 +00:00
Alex Lorenz
048c8a9e7f
[index] References to fields from template instantiations should refer to
...
fields in base templates
rdar://32197158
llvm-svn: 303068
2017-05-15 14:26:22 +00:00
Alex Lorenz
a352ba0cbe
[index] The relation between the declarations in template specializations
...
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
2017-04-24 14:04:58 +00:00
Argyrios Kyrtzidis
6e5ca5be53
[index] Take advantage of 'external_source_symbol' attribute for indexing purposes
...
- Ignore decls marked as 'generated_declaration'
- Include the 'defined_in' in the USR for additional namespacing
llvm-svn: 300949
2017-04-21 05:42:46 +00:00
Alex Lorenz
f6071c34a5
[index] Record class template specializations using a new 'SpecializationOf'
...
relationship
rdar://31603531
Differential Revision: https://reviews.llvm.org/D32010
llvm-svn: 300832
2017-04-20 10:43:22 +00:00
Simon Pilgrim
dfbf049e7f
Fix MSVC 'not all control paths return a value' warning.
...
llvm-svn: 298712
2017-03-24 16:59:14 +00:00
Argyrios Kyrtzidis
a9876cafe2
[index] When indexing system headers make sure to report important reference relations
...
Even if we exclude plain reference occurrences, we should include relation-based references, like the 'base' one.
rdar://31010737
llvm-svn: 298622
2017-03-23 16:34:47 +00:00
Argyrios Kyrtzidis
6d1a15b2d4
[index] Add 'Parameter' symbol kind and 'Local' symbol property to distinguish function-local symbols
...
Parameters have a 'child' relation to their function/method.
Also add an option '-include-locals' to 'c-index-test core' to enable indexing of function-local symbols.
Original patch from Nathan Hawes with some changes by me.
https://reviews.llvm.org/D30304
llvm-svn: 296282
2017-02-26 05:37:56 +00:00
Argyrios Kyrtzidis
74790484b5
[index] Improvde how we handle synthesized ObjC properties and the 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
2017-02-17 04:49:41 +00:00
Argyrios Kyrtzidis
de0f50886f
[index] Add 'IBTypeOf' relation for ObjC methods marked with IBAction and properties with IBOutletCollection.
...
llvm-svn: 291703
2017-01-11 21:01:07 +00:00
Argyrios Kyrtzidis
df60aa83a3
[index] Add 'contained-by' relation between references and their lexical container.
...
llvm-svn: 291700
2017-01-11 20:51:10 +00:00
Argyrios Kyrtzidis
9d8ab72a69
[index] Handle properly C++14's template variables.
...
- Infer the right symbol kind.
- Provide a templated USR, similar to how we handle class templates.
rdar://28980398
llvm-svn: 286154
2016-11-07 21:20:15 +00:00
Argyrios Kyrtzidis
f12918d218
[index] Fix assertion hit when handling a declaration of C++'s 'operator new' function.
...
Part of this is to allow creating a USR for the canonical decl of that which is implicit and does
not have a source location.
rdar://28978992
llvm-svn: 285868
2016-11-02 23:42:33 +00:00
Ben Langmuir
6aed6b4f01
[index] Index system ImportDecls even when there is a DeclarationsOnly filter
...
Whether we call an ImportDecl a decl or a reference symbol role is
somewhat academic, but in practice it's more like a declaration because
it is interesting even to consumers who wouldn't care about references.
Most importantly, we want to report the module dependencies of system
modules even when we have declaration-only filtering.
rdar://problem/27134855
llvm-svn: 275454
2016-07-14 18:51:55 +00:00
Argyrios Kyrtzidis
66c49f78a3
[index] Fix regression where ObjC method declarations may mistakenly get indexed as definition.
...
rdar://25372906
llvm-svn: 265042
2016-03-31 20:18:22 +00:00
Argyrios Kyrtzidis
6377e4e09a
[index] Make sure that declarations of builtin functions are indexed.
...
rdar://25154630
llvm-svn: 263689
2016-03-17 04:28:19 +00:00
Manuel Klimek
7186309cde
Pacify gcc's parenthesis warning, which doesn't realize that parens don't matter here.
...
llvm-svn: 263004
2016-03-09 10:06:45 +00:00
Argyrios Kyrtzidis
96e1479326
[index] Add a message for the assertion, NFC.
...
llvm-svn: 262991
2016-03-09 02:53:12 +00:00
Argyrios Kyrtzidis
0ad65ac816
[index] Fix assertion hit when indexing re-declarations of built-in functions.
...
llvm-svn: 262984
2016-03-09 02:12:40 +00:00
Argyrios Kyrtzidis
7332106499
[index] Distinguish USRs of anonymous enums by using their first enumerator.
...
rdar://24609949.
llvm-svn: 262695
2016-03-04 07:17:53 +00:00
Argyrios Kyrtzidis
8757fc5594
[index] Ignore ObjCTypeParamDecls during indexing.
...
llvm-svn: 262686
2016-03-04 04:24:32 +00:00
Argyrios Kyrtzidis
113387e08e
[index] Print and test module import references.
...
llvm-svn: 262208
2016-02-29 07:56:07 +00:00
Saleem Abdulrasool
9b0ac33457
silence -Wreturn-type warnings
...
These codepaths would generate warnings with GCC on linux even though the switch
was covered. Add llvm_unreachable markers to indicate that the switch should be
covered. NFC.
llvm-svn: 260865
2016-02-15 00:36:52 +00:00
Argyrios Kyrtzidis
f4fb85b1c7
[libclang] Separate the underlying indexing functionality of libclang and 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
2016-02-12 23:10:59 +00:00