mod decompiler;
mod lifecycle;
mod listing;
mod program;
mod project;
mod support;

pub(crate) use decompiler::{
    close_decompiler, decompile_function, decompiler_metadata, open_decompiler,
};
pub(crate) use lifecycle::attach_bridge;
pub use lifecycle::{start, started};
pub(crate) use listing::{
    data_at, data_containing, instruction_at, instructions_for_function, instructions_in_range,
};
pub(crate) use program::{
    basic_block_count, call_graph, callees, callers, constants, control_flow_graph,
    control_flow_graphs, data_refs, end_transaction, exports, find_symbols, function_at,
    function_containing, function_plate_comment, function_summaries, function_summary, imports,
    instruction_count, list_functions, memory_blocks, metadata, parse_address, references_from,
    references_to, set_function_plate_comment, source_map, start_transaction, strings, symbols,
    symbols_at,
};
pub(crate) use project::{
    analyze_program, close_program, close_project, open_or_create_project, open_or_import_program,
    open_program, program_name, save_program,
};
pub(crate) use support::JavaHandle;
