diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-05-17 20:06:56 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-05-17 20:06:56 +0000 |
commit | 9ada39a4ac82ff5f5087b0a7fa9ed0d32be55a3b (patch) | |
tree | 04461010b622c33c54edc9dcbfc3d7bcdc1ba2ef /tools/libclang/CIndex.cpp | |
parent | 293279ae4351f4f17ce44aa4f72861d0bc74c918 (diff) |
Add libclang function 'clang_CXXMethod_isStatic' to query of a C++ method
is declared static.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/libclang/CIndex.cpp')
-rw-r--r-- | tools/libclang/CIndex.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 753e90e4b0..16cd309b31 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -2752,6 +2752,19 @@ CXLanguageKind clang_getCursorLanguage(CXCursor cursor) { } } // end: extern "C" + +//===----------------------------------------------------------------------===// +// C++ AST instrospection. +//===----------------------------------------------------------------------===// + +extern "C" { +unsigned clang_CXXMethod_isStatic(CXCursor C) { + if (!clang_isDeclaration(C.kind)) + return 0; + CXXMethodDecl *D = dyn_cast<CXXMethodDecl>(cxcursor::getCursorDecl(C)); + return (D && D->isStatic()) ? 1 : 0; +} // end: extern "C" + //===----------------------------------------------------------------------===// // CXString Operations. //===----------------------------------------------------------------------===// |