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 | 3391cb00fc7c3668486a27e212ea7aa794f1bd90 (patch) | |
tree | 02c49fde8943b1ccf937529d22046bb5be7b005d /clang/Driver/AnalysisConsumer.cpp | |
parent | b9656df4aca81f6d06bd75d5b188f8491164912d (diff) | |
download | bcm5719-llvm-3391cb00fc7c3668486a27e212ea7aa794f1bd90.tar.gz bcm5719-llvm-3391cb00fc7c3668486a27e212ea7aa794f1bd90.zip |
Patch by Nikita Zhuk: Add TranslationUnitActions to AnalysisConsumer.
llvm-svn: 58831
Diffstat (limited to 'clang/Driver/AnalysisConsumer.cpp')
-rw-r--r-- | clang/Driver/AnalysisConsumer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/Driver/AnalysisConsumer.cpp b/clang/Driver/AnalysisConsumer.cpp index f01a755988e..f606c877420 100644 --- a/clang/Driver/AnalysisConsumer.cpp +++ b/clang/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; |