machine_check_common/
lib.rs1#![doc = include_str!("../README.md")]
2
3use serde::{Deserialize, Serialize};
4use thiserror::Error;
5
6#[derive(Error, Debug, Serialize, Deserialize, Clone)]
7pub enum ExecError {
8 #[error("incomplete verification")]
9 Incomplete,
10 #[error("field '{0}' of bit type not found")]
11 FieldNotFound(String),
12 #[error("property '{0}' part '{1}' could not be lexed")]
13 PropertyNotLexable(String, String),
14 #[error("property '{0}' could not be parsed")]
15 PropertyNotParseable(String),
16 #[error("inherent machine panic")]
17 InherentPanic(String),
18 #[error("{0}")]
19 OtherError(String),
20}
21
22#[derive(Debug, Serialize, Deserialize, Clone)]
23pub struct ExecResult {
24 pub result: Result<bool, ExecError>,
25 pub stats: ExecStats,
26}
27
28#[derive(Debug, Serialize, Deserialize, Clone, Default)]
29pub struct ExecStats {
30 pub num_refinements: usize,
31 pub num_generated_states: usize,
32 pub num_final_states: usize,
33 pub num_generated_transitions: usize,
34 pub num_final_transitions: usize,
35}