I'm starting to put up patches for WebKit checkers in analyzer. I have the first batch of 3 checkers pretty much ready and would like to get some feedback before I proceed with the rest.
I also have a bunch of questions.
- ASTMatchers
- I was considering rewriting the visitors to matchers but since I haven't really used I don't have intuition for them. From other uses it seems to me I won't be able to express all the logic currently implemented in shouldSkipFoo methods (including next patches too). Would having only part of that logic expressed as matcher still be a win?
- documentation
- What does Documentation<HasDocumentation> in Checkers.tddo?
- Also, the checkers for WebKit are designed as a system of rules and although there are no implementation dependencies between individual checkers they make sense only as a whole. What would be a good place for description of the rules? Just a README in clang/lib/StaticAnalyzer/Checkers/WebKit or somewhere in clang/docs/analyzer?
- tests organization
- Seems like the convention is one file per checker. Correct?
"Alpha" is an indication that you want to do more work on these checkers before enabling them by default. What work do you foresee?