| 276 | } |
| 277 | |
| 278 | void FunctionCallGraphBuilder::functionReferenced(CallableDeclaration const& _callable, bool _calledDirectly) |
| 279 | { |
| 280 | if (_calledDirectly) |
| 281 | { |
| 282 | solAssert( |
| 283 | std::holds_alternative<CallGraph::SpecialNode>(m_currentNode) || m_graph.edges.count(m_currentNode) > 0, |
| 284 | "Adding an edge from a node that has not been visited yet." |
| 285 | ); |
| 286 | |
| 287 | add(m_currentNode, &_callable); |
| 288 | } |
| 289 | else |
| 290 | add(CallGraph::SpecialNode::InternalDispatch, &_callable); |
| 291 | |
| 292 | enqueueCallable(_callable); |
| 293 | } |
| 294 | |
| 295 | std::ostream& solidity::frontend::operator<<(std::ostream& _out, CallGraph::Node const& _node) |
| 296 | { |
no test coverage detected