blob: 623db17b927debac65bd9c44a39bf17630580e94 [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() {
Mike Stump1eb44332009-09-09 15:08:12 +000020
Zhongxing Xufda78322009-07-30 09:11:52 +000021 if (DisplayedFunction)
22 return;
Mike Stump1eb44332009-09-09 15:08:12 +000023
Zhongxing Xufda78322009-07-30 09:11:52 +000024 DisplayedFunction = true;
Mike Stump1eb44332009-09-09 15:08:12 +000025
Zhongxing Xufda78322009-07-30 09:11:52 +000026 // 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}