<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 23, 2011, at 4:31 PM, Caitlin Sadowski wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><blockquote type="cite">This checker is also getting pretty big.  Generally speaking AnalysisBasedWarnings.cpp should only contain the "top-level" logic for driving analyses.  The analyses themselves should be in a separate file and activated via a small API.  When you get a chance, please move the bulk of the logic to libAnalysis, and have AnalysisBasedWarnings.cpp just call the entry point.<br></blockquote><br>Ok, sounds good! I will do this soon.<br></div></span></blockquote></div><br><div>Thanks so much!</div><div><br></div><div>The silver lining of moving it to libAnalysis is that it cleanly decouples the policy of issuing warnings from the analysis itself.  That allows the analysis to be (potentially) reused in different contexts.</div></body></html>