]> granicus.if.org Git - clang/commit
Change the semantics for Entity.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 21 Jul 2009 00:07:06 +0000 (00:07 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 21 Jul 2009 00:07:06 +0000 (00:07 +0000)
commitf7cf15ca3c9bee7c0348f549e7a8f0af32b5fa54
tree05e1fd135984a32777ddfbd291bfdc913046d50a
parent07ef804f918d8aade8739a02e78c6209fd3062a9
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76515 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/clang/Analysis/CallGraph.h
include/clang/Index/Entity.h
include/clang/Index/EntityHandler.h
include/clang/Index/IndexProvider.h
lib/Analysis/CallGraph.cpp
lib/Index/Entity.cpp
lib/Index/EntityImpl.h [new file with mode: 0644]
lib/Index/IndexProvider.cpp
lib/Index/Program.cpp
lib/Index/ProgramImpl.h
test/Index/find-refs.c
test/Index/foo.h
test/Index/t1.c
test/Index/t2.c
tools/index-test/index-test.cpp