mod function;
mod metadata;
mod module;
mod op;
mod region;
mod string_table;
pub mod value;
pub mod optype;
pub use function::{Function, FunctionDeclaration, FunctionDefinition, FunctionId};
pub use metadata::{HasMetadata, Metadata};
pub use module::Module;
pub use op::Operation;
pub use region::Region;
pub use value::{FunctionIOValue, ValueId, ValueTable, WireValue};
use derive_more::derive::{Display, Error, From};
pub trait ReadJeff {
fn module(&self) -> Module<'_>;
}
#[derive(Debug, Display, From, Error)]
#[non_exhaustive]
pub enum ReadError {
#[display("{context} string value has index {idx}, but only {count} entries are available")]
StringOutOfBounds {
context: &'static str,
idx: u32,
count: usize,
},
#[display("{context} string value with index {idx} was not valid utf8.")]
StringNotUtf8 {
context: &'static str,
idx: u32,
source: core::str::Utf8Error,
},
#[display("Function value has index {idx}, but only {count} entries are available")]
ValueOutOfBounds {
idx: u32,
count: usize,
},
}