blob: b73e86da8e0b4a73c2fa2ec9fa916715c96da80e [file] [log] [blame]
Zhongxing Xufda78322009-07-30 09:11:52 +00001//== AnalysisManager.cpp - Path sensitive analysis data manager ----*- C++ -*-//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file implements the AnalysisManager class.
11//
12//===----------------------------------------------------------------------===//
13
14#include "clang/Analysis/PathSensitive/AnalysisManager.h"
15#include "clang/Basic/SourceManager.h"
Zhongxing Xufda78322009-07-30 09:11:52 +000016
17using namespace clang;
18
19void AnalysisManager::DisplayFunction() {
20
21 if (DisplayedFunction)
22 return;
23
24 DisplayedFunction = true;
25
26 // FIXME: Is getCodeDecl() always a named decl?
27 if (isa<FunctionDecl>(getCodeDecl()) ||
28 isa<ObjCMethodDecl>(getCodeDecl())) {
Ted Kremenek23760022009-08-21 23:58:43 +000029 const NamedDecl *ND = cast<NamedDecl>(getCodeDecl());
Zhongxing Xu5032ffe2009-08-25 06:51:30 +000030 SourceManager &SM = getASTContext().getSourceManager();
Benjamin Kramer6cb7c1a2009-08-23 12:08:50 +000031 llvm::errs() << "ANALYZE: "
32 << SM.getPresumedLoc(ND->getLocation()).getFilename()
33 << ' ' << ND->getNameAsString() << '\n';
Zhongxing Xufda78322009-07-30 09:11:52 +000034 }
35}