Commit Graph

22 Commits

Author SHA1 Message Date
Zhongxing Xu b525bce698 Collect function definitions in the Indexer when indexing through the ASTs.
Add an API to get an Entity associated with a name in the global namespace.

llvm-svn: 107642
2010-07-06 05:55:13 +00:00
Zhongxing Xu f894cfb44f Local variables have no linkage, make invalid Entities.
llvm-svn: 107630
2010-07-06 01:20:49 +00:00
Zhongxing Xu 1bbbc2e509 Refrase comments.
llvm-svn: 107607
2010-07-05 02:36:16 +00:00
Zhongxing Xu 74458782cc Although in C++ class name has external linkage, usually the definition of the
class is available in the same translation unit when it's needed. So we make 
all of them invalid Entity.

llvm-svn: 107606
2010-07-05 02:35:40 +00:00
Zhongxing Xu 57012ee70d Make FieldDecl an invalid Entity since it has no linkage.
llvm-svn: 107605
2010-07-05 02:31:16 +00:00
Zhongxing Xu 5776d439ca Indexer: make FieldDecl an internal Entity.
llvm-svn: 107604
2010-07-05 01:44:14 +00:00
Kovarththanan Rajaratnam 47b55969c3 Cleanup using StringRef
llvm-svn: 98339
2010-03-12 09:33:31 +00:00
Daniel Dunbar 2c422dc9ca Move clients to use IdentifierInfo::getNameStart() instead of getName()
llvm-svn: 84436
2009-10-18 20:26:12 +00:00
Mike Stump 11289f4280 Remove tabs, and whitespace cleanups.
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Argyrios Kyrtzidis 2eff90515f Support ObjC methods as Entities.
llvm-svn: 77547
2009-07-29 23:41:46 +00:00
Argyrios Kyrtzidis ca8a0e24cb Use an IdentifierTable for names used for Entities.
llvm-svn: 77537
2009-07-29 23:40:21 +00:00
Argyrios Kyrtzidis af79296645 Modify the Indexer class so that it can return the TranslationUnit that internal
decls originated from.

llvm-svn: 77534
2009-07-29 23:39:52 +00:00
Zhongxing Xu 6c82313375 Constify methods.
llvm-svn: 76939
2009-07-24 03:38:27 +00:00
Zhongxing Xu fdd52922c2 constify methods.
llvm-svn: 76873
2009-07-23 08:32:25 +00:00
Argyrios Kyrtzidis 8274ad5281 Remove the ASTContext parameter from Entity::getPrintableName().
llvm-svn: 76546
2009-07-21 07:52:21 +00:00
Argyrios Kyrtzidis 3b4e2a7621 Keep only canonical Decls in Entities.
llvm-svn: 76532
2009-07-21 02:10:32 +00:00
Argyrios Kyrtzidis 05ac8276cf Change the semantics for Entity.
Entity can now refer to declarations that are not visible outside the translation unit.
It is a wrapper of a pointer union, it's either a Decl* for declarations that don't
"cross" translation units, or an EntityImpl* which is associated with the specific "visible" Decl.

Included is a test case for handling fields across translation units.

llvm-svn: 76515
2009-07-21 00:07:06 +00:00
Zhongxing Xu 9d05213899 Rename Entity::getName() to Entity::getPrintableName() to make its purpose
more obvious.

llvm-svn: 76167
2009-07-17 07:49:44 +00:00
Argyrios Kyrtzidis bffa89f42c Check whether the IdentifierInfo is null, before using it.
llvm-svn: 76136
2009-07-17 01:19:03 +00:00
Zhongxing Xu 12b1d137c2 Add getName() method to Entity.
llvm-svn: 75740
2009-07-15 04:39:21 +00:00
Chris Lattner c9f6c334f0 fix file headers.
llvm-svn: 75437
2009-07-12 22:33:12 +00:00
Argyrios Kyrtzidis fe37cc831b Introduce the 'Index' library.
Its purpose is to provide the basic infrastructure for cross-translation-unit analysis like indexing, refactoring, etc.

Currently it is very "primitive" and with no type-names support. It can provide functionality like
"show me all references of this function from these translation units".

llvm-svn: 74802
2009-07-05 22:22:19 +00:00