Make AnalysisManager stateless. Now other analyzer components only depends on
local node information.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81433 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/AnalysisManager.cpp b/lib/Analysis/AnalysisManager.cpp
index 623db17..1aa459a 100644
--- a/lib/Analysis/AnalysisManager.cpp
+++ b/lib/Analysis/AnalysisManager.cpp
@@ -16,7 +16,7 @@
 
 using namespace clang;
 
-void AnalysisManager::DisplayFunction() {
+void AnalysisManager::DisplayFunction(Decl *D) {
 
   if (DisplayedFunction)
     return;
@@ -24,12 +24,12 @@
   DisplayedFunction = true;
 
   // FIXME: Is getCodeDecl() always a named decl?
-  if (isa<FunctionDecl>(getCodeDecl()) ||
-      isa<ObjCMethodDecl>(getCodeDecl())) {
-    const NamedDecl *ND = cast<NamedDecl>(getCodeDecl());
+  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';
   }
 }
+