void printXMLFromTU(CXTranslationUnit tu) { printf("<?xml version=\"1.0\"?>\n<jazz>"); clang_visitChildrenWithBlock(clang_getTranslationUnitCursor(tu), ^enum CXChildVisitResult(CXCursor cursor, CXCursor parent) { CXComment comment = clang_Cursor_getParsedComment(cursor); if (clang_Comment_getKind(comment) == CXComment_FullComment) { printf("%s\n", clang_getCString(clang_FullComment_getAsXML(comment))); } return CXChildVisit_Recurse; });
SEXP R_clang_Cursor_getParsedComment(SEXP r_C) { SEXP r_ans = R_NilValue; CXCursor C = * GET_REF(r_C, CXCursor); CXComment ans; ans = clang_Cursor_getParsedComment(C); r_ans = R_makeCXComment(ans) ; return(r_ans); }
DocumentationData::DocumentationData( const CXCursor& cursor ) : raw_comment( CXStringToString( clang_Cursor_getRawCommentText( cursor ) ) ) , brief_comment( CXStringToString( clang_Cursor_getBriefCommentText( cursor ) ) ) , canonical_type( CXStringToString( clang_getTypeSpelling( clang_getCursorType( cursor ) ) ) ) , display_name( CXStringToString( clang_getCursorSpelling( cursor ) ) ) { CXComment parsed_comment = clang_Cursor_getParsedComment( cursor ); if ( CXCommentValid( parsed_comment ) ) { comment_xml = CXStringToString( clang_FullComment_getAsXML( parsed_comment ) ); } }