Lines Matching defs:CallGraphNode

27 class CallGraphNode;
35 friend class CallGraphNode;
37 typedef llvm::DenseMap<const Decl *, CallGraphNode *> FunctionMapTy;
44 CallGraphNode *Root;
49 llvm::SetVector<CallGraphNode *> ParentlessNodes;
67 CallGraphNode *getNode(const Decl *) const;
71 CallGraphNode *getOrInsertNode(Decl *);
87 CallGraphNode *getRoot() const { return Root; }
92 typedef llvm::SetVector<CallGraphNode *>::iterator nodes_iterator;
93 typedef llvm::SetVector<CallGraphNode *>::const_iterator const_nodes_iterator;
135 CallGraphNode *allocateNewNode(Decl *);
138 class CallGraphNode {
140 typedef CallGraphNode* CallRecord;
152 CallGraphNode(Decl *D) : FD(D) {}
166 void addCallee(CallGraphNode *N, CallGraph *CG) {
183 template <> struct GraphTraits<clang::CallGraphNode*> {
184 typedef clang::CallGraphNode NodeType;
185 typedef clang::CallGraphNode::CallRecord CallRecordTy;
187 clang::CallGraphNode*> CGNDerefFun;
188 static NodeType *getEntryNode(clang::CallGraphNode *CGN) { return CGN; }
196 static clang::CallGraphNode *CGNDeref(CallRecordTy P) {
201 template <> struct GraphTraits<const clang::CallGraphNode*> {
202 typedef const clang::CallGraphNode NodeType;
204 static NodeType *getEntryNode(const clang::CallGraphNode *CGN) { return CGN; }
210 : public GraphTraits<clang::CallGraphNode*> {
215 typedef std::pair<const clang::Decl*, clang::CallGraphNode*> PairTy;
216 typedef std::pointer_to_unary_function<PairTy, clang::CallGraphNode&> DerefFun;
226 static clang::CallGraphNode &CGdereference(PairTy P) {
236 public GraphTraits<const clang::CallGraphNode*> {
240 typedef std::pair<const clang::Decl*, clang::CallGraphNode*> PairTy;
241 typedef std::pointer_to_unary_function<PairTy, clang::CallGraphNode&> DerefFun;
252 static clang::CallGraphNode &CGdereference(PairTy P) {