1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mod ast;
pub mod cli;
pub mod display;
pub mod dump;
pub mod error;
mod graph;
mod parser;
use display::{GraphDisplay, GraphDisplayBackend};
use error::Result;
pub fn generate(
content: &[u8],
file_name: &str,
function_name: Option<String>,
backend: GraphDisplayBackend,
) -> Result<String> {
let ast = parser::parse(content, file_name, function_name)?;
let graph = graph::from_ast(ast, &String::from_utf8(content.to_vec())?, file_name)?;
backend.generate_from_graph(&graph)
}