Initial commit: noxis JVM bytecode obfuscator

Workspace of 9 crates (noxis, noxis-core, noxis-classfile, noxis-analysis,
noxis-passes, noxis-runtime, noxis-jar, noxis-verify, noxis-structure-check).
AGPL-3.0-only license, Rust 2024 edition, unsafe_code denied.
This commit is contained in:
Loki 2026-10-08 22:01:03 +02:00
commit a641e69455
140 changed files with 17197 additions and 0 deletions

View file

@ -0,0 +1,29 @@
//! Ошибки ядра пайплайна.
use crate::config::PassId;
/// Ошибка уровня ядра.
#[derive(Debug, thiserror::Error)]
pub enum CoreError {
#[error("ошибка ввода-вывода: {0}")]
Io(#[from] std::io::Error),
#[error("некорректная конфигурация: {0}")]
Config(String),
#[error("ошибка классового файла: {0}")]
Classfile(#[from] noxis_classfile::ClassfileError),
#[error("пасс `{pass}` не смог выполниться: {msg}")]
Pass { pass: PassId, msg: String },
}
impl CoreError {
/// Ошибка конкретного пасса.
pub fn pass(pass: PassId, msg: impl Into<String>) -> Self {
Self::Pass {
pass,
msg: msg.into(),
}
}
}