diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-09-01 19:52:22 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-09-01 19:52:22 +0000 | 
| commit | a9aa29cf0b171e0046111e99c555250e45b39a3b (patch) | |
| tree | 310c5d35d7163d0c545d037dbfecfb5034209a0f /clang/tools/libclang/CXCursor.cpp | |
| parent | 61a312413c82aa23ef63467cde87f6de1ce8724f (diff) | |
| download | bcm5719-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.cpp | 5 | 
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()) { | 

