MODULE = Clang PACKAGE = Clang::TUnit Cursor cursor(self) TUnit self CODE: Cursor retval = malloc(sizeof(CXCursor)); CXCursor cursor = clang_getTranslationUnitCursor(self); *retval = cursor; RETVAL = retval; OUTPUT: RETVAL SV * spelling(self) TUnit self CODE: CXString spelling = clang_getTranslationUnitSpelling(self); RETVAL = newSVpv(clang_getCString(spelling), 0); OUTPUT: RETVAL AV * diagnostics(self) TUnit self CODE: AV *diagnostics = newAV(); unsigned int i, count = clang_getNumDiagnostics(self); for (i = 0; i < count; i++) { Diagnostic d = clang_getDiagnostic(self, i); SV *elem = sv_setref_pv( newSV(0), "Clang::Diagnostic", (void *) d ); av_push(diagnostics, elem); } RETVAL = diagnostics; OUTPUT: RETVAL void DESTROY(self) TUnit self CODE: clang_disposeTranslationUnit(self);