Initial reorg.
This is largely the same as #305, but updated for the current tree.
This commit is contained in:
28
crates/lightbeam/src/error.rs
Normal file
28
crates/lightbeam/src/error.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
use capstone;
|
||||
use thiserror::Error;
|
||||
use wasmparser::BinaryReaderError;
|
||||
|
||||
#[derive(Error, PartialEq, Eq, Clone, Debug)]
|
||||
pub enum Error {
|
||||
#[error("Disassembler error: {0}")]
|
||||
Disassembler(String),
|
||||
|
||||
#[error("Assembler error: {0}")]
|
||||
Assembler(String),
|
||||
|
||||
#[error("Input error: {0}")]
|
||||
Input(String),
|
||||
}
|
||||
|
||||
impl From<BinaryReaderError> for Error {
|
||||
fn from(e: BinaryReaderError) -> Self {
|
||||
let BinaryReaderError { message, offset } = e;
|
||||
Error::Input(format!("At wasm offset {}: {}", offset, message))
|
||||
}
|
||||
}
|
||||
|
||||
impl From<capstone::Error> for Error {
|
||||
fn from(e: capstone::Error) -> Self {
|
||||
Error::Disassembler(e.to_string())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user