ghostscope_dwarf/
lib.rs

1//! Ghostscope DWARF Analysis Library
2//!
3//! High-performance DWARF analysis library with on-demand loading architecture
4//! inspired by GDB's cooked index system.
5
6// Core modules
7pub mod core;
8
9// Internal implementation modules
10pub(crate) mod data;
11pub(crate) mod debuglink;
12pub(crate) mod loader;
13pub(crate) mod module;
14pub(crate) mod parser;
15pub(crate) mod planner;
16
17// Main entry point
18pub mod analyzer;
19
20// Re-export main public API only
21pub use analyzer::{
22    DwarfAnalyzer, MainExecutableInfo, ModuleLoadingEvent, ModuleLoadingStats, ModuleStats,
23    SharedLibraryInfo, SimpleFileInfo,
24};
25
26// Re-export essential core types
27pub use core::{
28    // Evaluation types for LLVM codegen
29    CfaResult,
30    ComputeStep,
31    DirectValueResult,
32    DwarfError,
33    EvaluationResult,
34    FunctionInfo,
35    LocationResult,
36    MemoryAccessSize,
37    ModuleAddress,
38    PieceResult,
39    Result,
40    SourceLocation,
41    VariableInfo,
42};
43
44// Re-export type definitions from protocol (avoiding circular dependencies)
45pub use ghostscope_protocol::{
46    EnumVariant, StructMember, TypeCache, TypeInfo, TypeKind, TypeQualifier,
47};
48
49// Re-export data types needed by external users
50pub use data::VariableWithEvaluation;
51
52// Re-export gimli types that external users need
53pub use gimli::{constants, DwAte};