pub mod bytecode;
pub mod detect;
pub mod graph;
pub mod kotlin;
pub mod pipeline;
pub mod resolve;
pub mod scala;
pub mod stub;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ClasspathError {
#[error("build system detection failed: {0}")]
DetectionFailed(String),
#[error("classpath resolution failed: {0}")]
ResolutionFailed(String),
#[error("bytecode parse error in {class_name}: {reason}")]
BytecodeParseError { class_name: String, reason: String },
#[error("JAR read error for {path}: {reason}")]
JarReadError { path: String, reason: String },
#[error("cache error: {0}")]
CacheError(String),
#[error("index error: {0}")]
IndexError(String),
#[error("graph emission error: {0}")]
EmissionError(String),
#[error(transparent)]
Io(#[from] std::io::Error),
}
pub type ClasspathResult<T> = Result<T, ClasspathError>;