| 73 | } |
| 74 | |
| 75 | ASTNode *CalledFunctionMacroMapper::getASTNode(llvm::CallBase &CB) { |
| 76 | auto *CF = util::getCalledFunction(CB); |
| 77 | if (!CF) |
| 78 | return nullptr; |
| 79 | |
| 80 | IRNode Node(CB); |
| 81 | const auto &Index = Node.getIndex(); |
| 82 | DBKey Key(Index.getPath(), Index.getLine(), Index.getColumn(), |
| 83 | CF->getName().str()); |
| 84 | if (DupKey.find(Key) != DupKey.end()) |
| 85 | return nullptr; |
| 86 | |
| 87 | auto Acc = CallMap.find(Key); |
| 88 | if (Acc == CallMap.end()) |
| 89 | return nullptr; |
| 90 | return Acc->second.get(); |
| 91 | } |
| 92 | |
| 93 | ASTDefNode *CalledFunctionMacroMapper::getASTDefNode(llvm::Instruction &I) { |
| 94 | auto *CB = dyn_cast<llvm::CallBase>(&I); |
no test coverage detected