Generador de call graph de Rust
Sigue cómo se alcanzan entre sí las funciones de un módulo de Rust, sin esperar a un cargo check completo. Pegas un archivo y aparece el diagrama.
Abrir el editorEjemplo
example.rs
fn run() -> i32 {
let total = sum_invoices(fetch_invoices());
report(total);
total
}
fn fetch_invoices() -> Vec<i32> {
vec![1000, 2500, 400]
}
fn sum_invoices(amounts: Vec<i32>) -> i32 {
amounts.iter().sum()
}
fn report(total: i32) {
println!("total: {total}");
}
Qué muestra el diagrama
Las funciones libres y sus llamadas forman el grafo. Como el parseo es puramente sintáctico, el archivo no necesita compilar: puedes apuntar Weftmap a un módulo a medio refactor, con el borrow checker todavía protestando, y aun así obtener una imagen legible.
Ahora pruébalo con tu propio código
Pega un archivo, elige el lenguaje y dale a Analizar. No se guarda nada.
Abrir el editor