diff options
Diffstat (limited to 'lib/Analysis/AnalysisManager.cpp')
-rw-r--r-- | lib/Analysis/AnalysisManager.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/Analysis/AnalysisManager.cpp b/lib/Analysis/AnalysisManager.cpp new file mode 100644 index 0000000000000..c2733faa683cc --- /dev/null +++ b/lib/Analysis/AnalysisManager.cpp @@ -0,0 +1,35 @@ +//== AnalysisManager.cpp - Path sensitive analysis data manager ----*- C++ -*-// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file implements the AnalysisManager class. +// +//===----------------------------------------------------------------------===// + +#include "clang/Analysis/PathSensitive/AnalysisManager.h" +#include "clang/Basic/SourceManager.h" + +using namespace clang; + +void AnalysisManager::DisplayFunction(Decl *D) { + + if (DisplayedFunction) + return; + + DisplayedFunction = true; + + // FIXME: Is getCodeDecl() always a named decl? + if (isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D)) { + const NamedDecl *ND = cast<NamedDecl>(D); + SourceManager &SM = getASTContext().getSourceManager(); + (llvm::errs() << "ANALYZE: " + << SM.getPresumedLoc(ND->getLocation()).getFilename() + << ' ' << ND->getNameAsString() << '\n').flush(); + } +} + |