我正在使用下面的Objective-C类来索引Objective-C文件。我尝试使用{-1}}和#include
解析同时包含尖括号和引号头文件的文件。在任何情况下我的#import
回调都不会被击中。 Clang显然包含了文件,因为我得到了它们中定义的符号的索引回调。但是关于整体结构,我得到ppIncludedFile
,然后我得到enteredMainFile
主文件。但是我从来没有找到它正在查找的头文件。
根据文件:
/ ** * \ brief当文件被#include / #import时调用。 * /
CXIdxClientFile(* ppIncludedFile)(CXClientData client_data, const CXIdxIncludedFileInfo *);
这不会发生。这是一个错误,还是我需要做一些事情才能启用此回调?我正在使用的startedTranslationUnit
版本来自svn trunk r156259。
libclang
答案 0 :(得分:3)
#include
时间的处理可能无法记录,因为那里有大量信息(在一般情况下可能不需要)。有一个createPreporcessingRecord
函数,如果尚未启用该选项,则不会生成数据。
Clang文档描述了CXTranslationUnit_DetailedPreprocessingRecord,您可以将其用作标记,而不是可能有帮助的CXTranslationUnit_None
。