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:
commit
a641e69455
140 changed files with 17197 additions and 0 deletions
29
crates/noxis-core/src/error.rs
Normal file
29
crates/noxis-core/src/error.rs
Normal 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(),
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue