Chromium代码里编写定制的clang插件做C++函数的静态样式检查

来源:互联网 发布:广州学网络推广 编辑:程序博客网 时间:2024/05/23 11:33

commit80f54dc1ab629289946237227e5706e19b7e7594
authordcheng Wed Jan 07 19:13:49 2015
committerCommit bot Wed Jan 07 19:15:28 2015

Implement the Clang plugin as a RecursiveASTVisitor.The current ASTConsumer class checker can be non-deterministicin its class verification. The exact reason isn't clear, but it'skind of nice to have a deterministic checker.Using RecursiveASTVisitor also makes it easier to write moreinteresting checks if needed in the future, since it also visitsstatements, etc. Since the RecursiveASTVisitor implementationcatches strictly more things than the ASTConsumer version, it'sgated behind a flag. This flag/the legacy ASTConsumer versionwill be removed once Chromium code can compile cleanly with theAST visitor.BUG=436357Review URL: https://codereview.chromium.org/751233002Cr-Commit-Position: refs/heads/master@{#310331}
  • tools/clang/plugins/ChromeClassTester.h[diff]
  • tools/clang/plugins/FindBadConstructsAction.cpp[diff]
  • tools/clang/plugins/FindBadConstructsConsumer.cpp[diff]
  • tools/clang/plugins/FindBadConstructsConsumer.h[diff]
  • tools/clang/plugins/Options.h[diff]
  • tools/clang/plugins/tests/test.sh[diff]

使用clang插件做静态检查

0 0