Я использую libclang для анализа файла исходного кода объекта c. Следующий код находит все объявления методы экземпляра Objective-C, но он также находит заявления в включает в себя:Как я могу пропускать, используя libclang?
enum CXCursorKind curKind = clang_getCursorKind(cursor);
CXString curKindName = clang_getCursorKindSpelling(curKind);
const char *funcDecl="ObjCInstanceMethodDecl";
if(strcmp(clang_getCString(curKindName),funcDecl)==0{
}
Как я могу пропустить все, что приходит из заголовка включает в себя? Меня интересуют только мои собственные объявления метода экземпляра Objective-C в исходном файле, а не в любом из включений.
например. не следует включать следующее:
...
Location: /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:15:9:315
Type:
TypeKind: Invalid
CursorKind: ObjCInstanceMethodDecl
...
знаете ли вы, как я могу использовать это внутри ASTFrontendAction? – vinnybad