/** ** \file callgraph/tasks.cc ** \brief Callgraph module related tasks' implementation. */ #include #include #include #define DEFINE_TASKS 1 #include #undef DEFINE_TASKS #include namespace callgraph::tasks { /*------------. | CallGraph. | `------------*/ static std::unique_ptr callgraph; void callgraph_compute() { callgraph.reset(::callgraph::callgraph_compute(*ast::tasks::the_program)); } void callgraph_dump() { precondition(callgraph.get()); callgraph->print("call"); } /*--------------. | ParentGraph. | `--------------*/ static std::unique_ptr parentgraph; void parentgraph_compute() { parentgraph.reset( ::callgraph::parentgraph_compute(*ast::tasks::the_program)); } void parentgraph_dump() { precondition(parentgraph.get()); parentgraph->print("parent"); } } // namespace callgraph::tasks