Weftmap
RUST

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 editor

Ejemplo

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