forward declarations and definitions of structs/classes/enums.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104075
91177308-0d34-0410-b5e6-
96231b3b80d8
*/
CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C);
+/**
+ * \brief Determine if a given struct/class/enum declaration is a definition
+ * or just a forward declaration.
+ */
+CINDEX_LINKAGE unsigned clang_isTagDeclDefinition(CXCursor C);
+
/**
* @}
*/
CXXMethodDecl *D = dyn_cast<CXXMethodDecl>(cxcursor::getCursorDecl(C));
return (D && D->isStatic()) ? 1 : 0;
}
+
+unsigned clang_isTagDeclDefinition(CXCursor C) {
+ if (!clang_isDeclaration(C.kind))
+ return 0;
+
+ const TagDecl *D = dyn_cast<TagDecl>(cxcursor::getCursorDecl(C));
+ return D && D->isDefinition() ? 1 : 0;
+}
+
} // end: extern "C"
//===----------------------------------------------------------------------===//
_clang_isPreprocessing
_clang_isReference
_clang_isStatement
+_clang_isTagDeclDefinition
_clang_isTranslationUnit
_clang_isUnexposed
_clang_setUseExternalASTGeneration
clang_isPreprocessing
clang_isReference
clang_isStatement
+clang_isTagDeclDefinition
clang_isTranslationUnit
clang_isUnexposed
clang_setUseExternalASTGeneration
clang_tokenize
clang_visitChildren
+