neo-decompiler 0.11.0

Neo N3 NEF decompiler: parse, disassemble, lift bytecode to high-level pseudocode and C# skeletons, with a CLI, JSON reports, and optional WebAssembly bindings.
Documentation
use clap::ValueEnum;

#[derive(Debug, Clone, Copy, ValueEnum, Default)]
pub(in crate::cli) enum DecompileFormat {
    Pseudocode,
    /// Legacy string-based high-level view.  Prefer `Ir` for structured
    /// output which recovers if/for/while/do-while/try-catch from the
    /// CFG instead of emitting goto/label patterns.
    HighLevel,
    Both,
    Csharp,
    Json,
    /// Structured IR view (CFG → ir::ControlFlow), the Phase-4 spine path.
    /// This is the default decompilation format: it uses dominance-based
    /// control-flow structuring and SSA-level data-flow analysis to
    /// produce clean, readable output with no goto/label noise.
    #[default]
    Ir,
    /// Optimized SSA view (def/use, phi, constant folding/DCE).
    Ssa,
}

#[derive(Debug, Clone, Copy, ValueEnum, Default)]
pub(in crate::cli) enum InfoFormat {
    #[default]
    Text,
    Json,
}

#[derive(Debug, Clone, Copy, ValueEnum, Default)]
pub(in crate::cli) enum DisasmFormat {
    #[default]
    Text,
    Json,
}

#[derive(Debug, Clone, Copy, ValueEnum, Default)]
pub(in crate::cli) enum TokensFormat {
    #[default]
    Text,
    Json,
}