diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-11-07 02:09:25 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-11-07 02:09:25 +0000 |
commit | daac634c9744257d43ce892b973019b16468caf2 (patch) | |
tree | 570697763788b87140113496c5b89bdbb3680989 | |
parent | eaebc75ef6ff21fbc9f25ab4175cba465e4e0e43 (diff) |
Patch by Nikita Zhuk: Add TranslationUnitActions to AnalysisConsumer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58831 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | Driver/AnalysisConsumer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Driver/AnalysisConsumer.cpp b/Driver/AnalysisConsumer.cpp index f01a755988..f606c87742 100644 --- a/Driver/AnalysisConsumer.cpp +++ b/Driver/AnalysisConsumer.cpp @@ -60,6 +60,7 @@ namespace { Actions FunctionActions; Actions ObjCMethodActions; Actions ObjCImplementationActions; + Actions TranslationUnitActions; public: const bool VisGraphviz; @@ -100,6 +101,10 @@ namespace { ObjCImplementationActions.push_back(action); } + void addTranslationUnitAction(CodeAction action) { + TranslationUnitActions.push_back(action); + } + virtual void Initialize(ASTContext &Context) { Ctx = &Context; } @@ -291,6 +296,13 @@ void AnalysisConsumer::HandleTopLevelDecl(Decl *D) { 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; |