diff options
-rw-r--r-- | examples/wpa/clang-wpa.cpp | 6 | ||||
-rw-r--r-- | include/clang/Index/GlobalCallGraph.h (renamed from include/clang/Index/CallGraph.h) | 33 | ||||
-rw-r--r-- | lib/Index/GlobalCallGraph.cpp (renamed from lib/Index/CallGraph.cpp) | 10 |
3 files changed, 27 insertions, 22 deletions
diff --git a/examples/wpa/clang-wpa.cpp b/examples/wpa/clang-wpa.cpp index b1119e14b7..8e29090fe7 100644 --- a/examples/wpa/clang-wpa.cpp +++ b/examples/wpa/clang-wpa.cpp @@ -22,7 +22,7 @@ #include "clang/StaticAnalyzer/Checkers/LocalCheckers.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/CompilerInstance.h" -#include "clang/Index/CallGraph.h" +#include "clang/Index/GlobalCallGraph.h" #include "clang/Index/Indexer.h" #include "clang/Index/TranslationUnit.h" #include "clang/Index/DeclReferenceMap.h" @@ -104,8 +104,8 @@ int main(int argc, char **argv) { } if (ViewCallGraph) { - OwningPtr<CallGraph> CG; - CG.reset(new CallGraph(Prog)); + OwningPtr<clang::idx::CallGraph> CG; + CG.reset(new clang::idx::CallGraph(Prog)); for (unsigned i = 0, e = ASTUnits.size(); i != e; ++i) CG->addTU(ASTUnits[i]->getASTContext()); diff --git a/include/clang/Index/CallGraph.h b/include/clang/Index/GlobalCallGraph.h index 38baf0f753..7ba1cceac1 100644 --- a/include/clang/Index/CallGraph.h +++ b/include/clang/Index/GlobalCallGraph.h @@ -1,4 +1,4 @@ -//== CallGraph.cpp - Call graph building ------------------------*- C++ -*--==// +//== GlobalCallGraph.h - Call graph building --------------------*- C++ -*--==// // // The LLVM Compiler Infrastructure // @@ -11,8 +11,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_ANALYSIS_CALLGRAPH -#define LLVM_CLANG_ANALYSIS_CALLGRAPH +#ifndef LLVM_CLANG_INDEX_CALLGRAPH +#define LLVM_CLANG_INDEX_CALLGRAPH #include "clang/Index/ASTLocation.h" #include "clang/Index/Entity.h" @@ -23,15 +23,18 @@ #include <vector> #include <map> +using namespace clang; + namespace clang { +namespace idx { class CallGraphNode { - idx::Entity F; - typedef std::pair<idx::ASTLocation, CallGraphNode*> CallRecord; + Entity F; + typedef std::pair<ASTLocation, CallGraphNode*> CallRecord; std::vector<CallRecord> CalledFunctions; public: - CallGraphNode(idx::Entity f) : F(f) {} + CallGraphNode(Entity f) : F(f) {} typedef std::vector<CallRecord>::iterator iterator; typedef std::vector<CallRecord>::const_iterator const_iterator; @@ -41,7 +44,7 @@ public: const_iterator begin() const { return CalledFunctions.begin(); } const_iterator end() const { return CalledFunctions.end(); } - void addCallee(idx::ASTLocation L, CallGraphNode *Node) { + void addCallee(ASTLocation L, CallGraphNode *Node) { CalledFunctions.push_back(std::make_pair(L, Node)); } @@ -54,9 +57,9 @@ public: class CallGraph { /// Program manages all Entities. - idx::Program &Prog; + Program &Prog; - typedef std::map<idx::Entity, CallGraphNode *> FunctionMapTy; + typedef std::map<Entity, CallGraphNode *> FunctionMapTy; /// FunctionMap owns all CallGraphNodes. FunctionMapTy FunctionMap; @@ -71,7 +74,7 @@ class CallGraph { CallGraphNode *ExternalCallingNode; public: - CallGraph(idx::Program &P); + CallGraph(Program &P); ~CallGraph(); typedef FunctionMapTy::iterator iterator; @@ -88,7 +91,7 @@ public: void addTU(ASTContext &AST); - idx::Program &getProgram() { return Prog; } + Program &getProgram() { return Prog; } CallGraphNode *getOrInsertFunction(idx::Entity F); @@ -100,13 +103,13 @@ public: void ViewCallGraph() const; }; -} // end clang namespace +}} // end clang idx namespace namespace llvm { -template <> struct GraphTraits<clang::CallGraph> { - typedef clang::CallGraph GraphType; - typedef clang::CallGraphNode NodeType; +template <> struct GraphTraits<clang::idx::CallGraph> { + typedef clang::idx::CallGraph GraphType; + typedef clang::idx::CallGraphNode NodeType; typedef std::pair<clang::idx::ASTLocation, NodeType*> CGNPairTy; typedef std::pointer_to_unary_function<CGNPairTy, NodeType*> CGNDerefFun; diff --git a/lib/Index/CallGraph.cpp b/lib/Index/GlobalCallGraph.cpp index 741e78107f..a21b52ae60 100644 --- a/lib/Index/CallGraph.cpp +++ b/lib/Index/GlobalCallGraph.cpp @@ -1,4 +1,4 @@ -//== CallGraph.cpp - Call graph building ------------------------*- C++ -*--==// +//== GlobalCallGraph.cpp - Call graph building ------------------*- C++ -*--==// // // The LLVM Compiler Infrastructure // @@ -11,15 +11,17 @@ // //===----------------------------------------------------------------------===// -#include "clang/Index/CallGraph.h" +#include "clang/Index/GlobalCallGraph.h" #include "clang/AST/ASTContext.h" #include "clang/AST/StmtVisitor.h" #include "llvm/Support/GraphWriter.h" -using namespace clang; -using namespace idx; +using namespace clang::idx; +using clang::FunctionDecl; +using clang::DeclContext; +using clang::ASTContext; namespace { class CGBuilder : public StmtVisitor<CGBuilder> { |