ryo-analysis 0.1.0

Code graph and discovery engine for the RYO project
Documentation
//! Symbol identification system for Rust ecosystem-wide unique identifiers.
//!
//! This module provides two-layer representation for both symbols and files:
//!
//! ## Symbols
//! - **SymbolPath**: External representation (persistence/display)
//! - **SymbolId**: Internal representation (fast processing)
//!
//! ## Files
//! - **WorkspaceFilePath**: Self-contained file path (from ryo-symbol)
//! - **FileId**: Internal representation (fast processing via FileRegistry)
//!
//! ## File Lifecycle
//!
//! ```text
//! External World (PathBuf)
//!        ↓ WorkspacePathResolver::resolve()
//! WorkspaceFilePath (self-contained)
//!        ↓ FileRegistry::register()
//! FileId (internal, O(1) access)
//! ```

mod file_id;
mod file_registry;
mod update;

// Re-export from ryo-symbol (unified symbol system)
pub use file_id::FileId;
pub use file_registry::{FileRegistry, InvalidFileId};
pub use ryo_symbol::{
    CrateName,
    FileSpan,
    // SymbolRegistry and related types
    InvalidSymbolId,
    MemoryStats,
    ParseError,
    ReExportInfo,
    RegistrationError,
    RenameError,
    Segment,
    SymbolId,
    SymbolKind,
    SymbolPath,
    SymbolPathBuilder,
    SymbolRef,
    SymbolRegistry,
    // Persistent ID
    Uuid,
    VarScope,
    Visibility,
    WorkspaceFilePath,
};
pub use update::{ApplyError, RegistryUpdate, RegistryUpdateBatch};