#pragma once // // This file is distributed under the MIT License. See LICENSE.md for details. // #include #include "revng/PTML/Tag.h" class BasicBlockID; namespace model { class Binary; } namespace ptml { class MarkupBuilder; } namespace yield { class Function; namespace crossrelations { class CrossRelations; } // namespace crossrelations namespace svg { namespace detail { using CrossRelations = yield::crossrelations::CrossRelations; } // namespace detail std::string controlFlowGraph(const ::ptml::MarkupBuilder &B, const yield::Function &InternalFunction, const model::Binary &Binary); std::string callGraph(const ::ptml::MarkupBuilder &B, const detail::CrossRelations &CrossRelationTree, const model::Binary &Binary); std::string callGraphSlice(const ::ptml::MarkupBuilder &B, llvm::StringRef SlicePoint, const detail::CrossRelations &CrossRelationTree, const model::Binary &Binary); } // namespace svg } // namespace yield