use lief_ffi as ffi;
use std::path::Path;
pub mod compilation_unit;
pub mod debug_info;
pub mod editor;
pub mod function;
pub mod lexical_block;
pub mod parameters;
pub mod scope;
pub mod types;
pub mod variable;
use crate::common::into_optional;
#[doc(inline)]
pub use debug_info::DebugInfo;
#[doc(inline)]
pub use compilation_unit::CompilationUnit;
#[doc(inline)]
pub use function::Function;
#[doc(inline)]
pub use variable::Variable;
#[doc(inline)]
pub use scope::Scope;
#[doc(inline)]
pub use types::Type;
#[doc(inline)]
pub use editor::Editor;
#[doc(inline)]
pub use parameters::{Parameter, Parameters};
#[doc(inline)]
pub use lexical_block::LexicalBlock;
pub fn load<P: AsRef<Path>>(path: P) -> Option<DebugInfo<'static>> {
cxx::let_cxx_string!(__cxx_s = path.as_ref().to_str().unwrap());
into_optional(ffi::DWARF_DebugInfo::from_file(&__cxx_s))
}