Actions FunctionActions;
Actions ObjCMethodActions;
Actions ObjCImplementationActions;
+ Actions TranslationUnitActions;
public:
const bool VisGraphviz;
ObjCImplementationActions.push_back(action);
}
+ void addTranslationUnitAction(CodeAction action) {
+ TranslationUnitActions.push_back(action);
+ }
+
virtual void Initialize(ASTContext &Context) {
Ctx = &Context;
}
void AnalysisConsumer::HandleTranslationUnit(TranslationUnit& TU) {
+ if(!TranslationUnitActions.empty()) {
+ AnalysisManager mgr(*this, &TU);
+ for (Actions::iterator I = TranslationUnitActions.begin(),
+ E = TranslationUnitActions.end(); I != E; ++I)
+ (*I)(mgr);
+ }
+
if (ObjCImplementationActions.empty())
return;