packages feed

LibClang-0.0.8: test/Test_ChildVisitor.c

#include <clang-c/Index.h>

enum CXChildVisitResult visitor(CXCursor cursor, CXCursor parent, CXClientData data)
{
  CXType type = clang_getCursorType(cursor);
  CXString str = clang_getTypeKindSpelling(type.kind);
  printf("Type:%s\n", clang_getCString(str));
  clang_disposeString(str);
  return CXChildVisit_Continue;
}

int main(int argc, char * argv[])
{
  CXIndex index = clang_createIndex(0, 0);
  CXTranslationUnit txUnit = clang_parseTranslationUnit(index, 0, argv, argc, 0, 0, CXTranslationUnit_None);

  CXCursor cur = clang_getTranslationUnitCursor(txUnit);
  clang_visitChildren(cur, visitor, NULL);

  clang_disposeTranslationUnit(txUnit);
  clang_disposeIndex(index);
  return 0;
}