文章目录
translation unit
Translation Unit 可以简单理解为,一个.c的源文件,加上其包括的所有头文件及其展开(主要指经过了预处理:宏展开,移除注释等)。一个TU是编译阶段的独立单元,在链接以前,一个TU不依赖任何外部资源。
参考StackOverflow上的解答:
https://stackoverflow.com/questions/7146425/llvm-translation-unit
AST based checkers
在clang/StaticAnalyzer/Core/Checker.h中,和preStmt类似,与AST相关的有ASTCodeBody、EndOfTranslationUnit等Callback调用。
check::EndOfTranslationUnit
void checkEndOfTranslationUnit ( const TranslationUnitDecl *TU ,