summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXCursor.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-09-01 19:52:22 +0000
committerDouglas Gregor <dgregor@apple.com>2010-09-01 19:52:22 +0000
commita9aa29cf0b171e0046111e99c555250e45b39a3b (patch)
tree310c5d35d7163d0c545d037dbfecfb5034209a0f /clang/tools/libclang/CXCursor.cpp
parent61a312413c82aa23ef63467cde87f6de1ce8724f (diff)
downloadbcm5719-llvm-a9aa29cf0b171e0046111e99c555250e45b39a3b.tar.gz
bcm5719-llvm-a9aa29cf0b171e0046111e99c555250e45b39a3b.zip
Implement libclang support for using declarations. Clang actually uses
three different kinds of AST nodes to represent using declarations: UsingDecl, UnresolvedUsingValueDecl, and UnresolvedUsingTypenameDecl. These three are collapsed into a single cursor kind for using declarations, since libclang clients don't need the distinction. Several related changes here: - Cursor visitation of the three AST nodes for using declarations - Proper source-range computation for these AST nodes - Using declarations have no USRs, since they don't actually declare any entities. llvm-svn: 112730
Diffstat (limited to 'clang/tools/libclang/CXCursor.cpp')
-rw-r--r--clang/tools/libclang/CXCursor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index 75806ffa8d7..506033e7663 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -71,6 +71,11 @@ static CXCursorKind GetCursorKind(Decl *D) {
return CXCursor_ClassTemplatePartialSpecialization;
case Decl::UsingDirective: return CXCursor_UsingDirective;
+ case Decl::Using:
+ case Decl::UnresolvedUsingValue:
+ case Decl::UnresolvedUsingTypename:
+ return CXCursor_UsingDeclaration;
+
default:
if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
switch (TD->getTagKind()) {
OpenPOWER on IntegriCloud