c-index-test.c revision 2d4d629d8a0de5112c7ae9d05c03ddbf6dcd956a
150398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff 250398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff#include "clang-c/Index.h" 389922f86f4e7da383af2a62ef04ad8b93b941220Steve Naroff#include <stdio.h> 489922f86f4e7da383af2a62ef04ad8b93b941220Steve Naroff 589922f86f4e7da383af2a62ef04ad8b93b941220Steve Naroffstatic void PrintDecls(CXTranslationUnit Unit, CXCursor Cursor) { 62d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff if (clang_isDeclaration(Cursor.kind)) { 72d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff printf("%s => %s", clang_getKindSpelling(Cursor.kind), 82d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff clang_getDeclSpelling(Cursor.decl)); 92d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff printf(" (%s,%d:%d)\n", clang_getCursorSource(Cursor), 102d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff clang_getCursorLine(Cursor), 112d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff clang_getCursorColumn(Cursor)); 122d4d629d8a0de5112c7ae9d05c03ddbf6dcd956aSteve Naroff } 1389922f86f4e7da383af2a62ef04ad8b93b941220Steve Naroff} 1450398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff 1550398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff/* 1650398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff * First sign of life:-) 1750398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff */ 1850398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroffint main(int argc, char **argv) { 1950398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff CXIndex Idx = clang_createIndex(); 2050398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff CXTranslationUnit TU = clang_createTranslationUnit(Idx, argv[1]); 2189922f86f4e7da383af2a62ef04ad8b93b941220Steve Naroff clang_loadTranslationUnit(TU, PrintDecls); 2250398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff return 1; 2350398199fb10e196a8d92fbf7a062dbe42ed88fdSteve Naroff} 24