Skip to main content

Crate woolink

Crate woolink 

Source
Expand description

woolink 🔗 - Global Symbol Table for Woo Ecosystem

跨包符号解析系统,提供:

  • SoA 布局:符号属性分块存储,CPU 缓存友好
  • 并发查询:RwLock 支持 1000+ AI Agent 线程
  • 惰性反序列化:rkyv 零拷贝,mmap 直接映射
  • O(1) 定义跳转:链式符号索引
  • Lock-free 符号链接

§Quick Start

use woolink::{SymbolUniverse, Symbol, SymbolKind, SymbolId};
 
// Create universe
let universe = SymbolUniverse::new(100_000);
 
// Concurrent reads (1000+ threads supported)
let guard = universe.read();
let symbol = guard.get_symbol(SymbolId::new(42));
let (target, location) = guard.jump_to_definition(SymbolId::new(42)).unwrap();

Re-exports§

pub use symbol::SymbolUniverse;
pub use symbol::SymbolUniverseGuard;
pub use symbol::UniverseSnapshot;
pub use symbol::SymbolStorage;
pub use symbol::SoAStorage;
pub use symbol::ChainedIndex;
pub use symbol::SymbolChain;
pub use symbol::DefinitionLocation;
pub use symbol::SymbolLinker;
pub use symbol::LinkResolver;
pub use symbol::MmapIndex;
pub use symbol::MemoryMappedStorage;
pub use symbol::Symbol;
pub use symbol::Package;
pub use symbol::Import;
pub use symbol::SymbolKind;
pub use symbol::Visibility;
pub use symbol::SymbolId;
pub use symbol::PackageId;
pub use symbol::UniverseStats;
pub use symbol::SymbolError;
pub use symbol::Result;

Modules§

bridge
Bridge module - Integration with woofind and wootype
cli
CLI module for woolink
prelude
Common imports for woolink users
symbol
Global Symbol Table for Cross-Package Resolution

Constants§

ARCHIVE_MAGIC
Magic number for archive files
VERSION
Version information