aboutsummaryrefslogtreecommitdiff
path: root/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2012-08-19 10:33:04 +0000
committerDimitry Andric <dim@FreeBSD.org>2012-08-19 10:33:04 +0000
commit657bc3d9848e3be92029b2416031340988cd0111 (patch)
tree5b9c2fa9d79942fbdce3d618e37e27c18263af9a /include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
parent56d91b49b13fe55c918afbda19f6165b5fbff87a (diff)
downloadsrc-657bc3d9848e3be92029b2416031340988cd0111.tar.gz
src-657bc3d9848e3be92029b2416031340988cd0111.zip
Vendor import of clang trunk r162107:vendor/clang/clang-trunk-r162107
Notes
Notes: svn path=/vendor/clang/dist/; revision=239392 svn path=/vendor/clang/clang-trunk-r162107/; revision=239393; tag=vendor/clang/clang-trunk-r162107
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h')
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h27
1 files changed, 10 insertions, 17 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h b/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
index 1cc53d4423da..876196ba4f7f 100644
--- a/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
+++ b/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
@@ -19,6 +19,7 @@
#include "clang/Frontend/AnalyzerOptions.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
+#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h"
namespace clang {
@@ -32,8 +33,7 @@ class AnalysisManager : public BugReporterData {
ASTContext &Ctx;
DiagnosticsEngine &Diags;
const LangOptions &LangOpts;
-
- OwningPtr<PathDiagnosticConsumer> PD;
+ PathDiagnosticConsumers PathConsumers;
// Configurable components creators.
StoreManagerCreator CreateStoreMgr;
@@ -82,8 +82,9 @@ public:
bool NoRetryExhausted;
public:
- AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags,
- const LangOptions &lang, PathDiagnosticConsumer *pd,
+ AnalysisManager(ASTContext &ctx,DiagnosticsEngine &diags,
+ const LangOptions &lang,
+ const PathDiagnosticConsumers &Consumers,
StoreManagerCreator storemgr,
ConstraintManagerCreator constraintmgr,
CheckerManager *checkerMgr,
@@ -99,12 +100,7 @@ public:
AnalysisInliningMode inliningMode,
bool NoRetry);
- /// Construct a clone of the given AnalysisManager with the given ASTContext
- /// and DiagnosticsEngine.
- AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags,
- AnalysisManager &ParentAM);
-
- ~AnalysisManager() { FlushDiagnostics(); }
+ ~AnalysisManager();
void ClearContexts() {
AnaCtxMgr.clear();
@@ -140,15 +136,12 @@ public:
return LangOpts;
}
- virtual PathDiagnosticConsumer *getPathDiagnosticConsumer() {
- return PD.get();
- }
-
- void FlushDiagnostics() {
- if (PD.get())
- PD->FlushDiagnostics(0);
+ ArrayRef<PathDiagnosticConsumer*> getPathDiagnosticConsumers() {
+ return PathConsumers;
}
+ void FlushDiagnostics();
+
unsigned getMaxNodes() const { return MaxNodes; }
unsigned getMaxVisit() const { return MaxVisit; }