diff --git a/src/analysis/buttons.rs b/src/analysis/buttons.rs index 9709deb..a12dcf3 100644 --- a/src/analysis/buttons.rs +++ b/src/analysis/buttons.rs @@ -27,7 +27,7 @@ pub fn buttons(process: &mut IntoProcessInstanceArcBox<'_>) -> Result panic!("unsupported os"), + os => panic!("unsupported os: {}", os), }; let module = process.module_by_name(&module_name)?; diff --git a/src/analysis/interfaces.rs b/src/analysis/interfaces.rs index 0075cba..7c3bcac 100644 --- a/src/analysis/interfaces.rs +++ b/src/analysis/interfaces.rs @@ -24,7 +24,7 @@ pub fn interfaces(process: &mut IntoProcessInstanceArcBox<'_>) -> Result signature!("48 8B 1D ? ? ? ? 48 85 DB 74 ? 49 89 FC"), "windows" => signature!("4C 8B 0D ? ? ? ? 4C 8B D2 4C 8B D9"), - _ => panic!("unsupported os"), + os => panic!("unsupported os: {}", os), }; process diff --git a/src/analysis/schemas.rs b/src/analysis/schemas.rs index e225aad..12f2c33 100644 --- a/src/analysis/schemas.rs +++ b/src/analysis/schemas.rs @@ -16,14 +16,14 @@ use crate::source_engine::*; pub type SchemaMap = BTreeMap, Vec)>; -#[derive(Debug, Eq, Ord, PartialEq, PartialOrd, Deserialize, Serialize)] +#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd, Deserialize, Serialize)] pub enum ClassMetadata { Unknown { name: String }, NetworkChangeCallback { name: String }, NetworkVarNames { name: String, ty: String }, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct Class { pub name: String, pub module_name: String, @@ -32,14 +32,14 @@ pub struct Class { pub fields: Vec, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct ClassField { pub name: String, pub ty: String, pub offset: u32, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct Enum { pub name: String, pub ty: String, @@ -48,7 +48,7 @@ pub struct Enum { pub members: Vec, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct EnumMember { pub name: String, pub value: i64, @@ -81,9 +81,9 @@ fn read_class_binding( let module_name = binding.module_name.read_string(process).map(|s| { let file_ext = match env::consts::OS { - "linux" => "so", - "windows" => "dll", - _ => panic!("unsupported os"), + "linux" => ".so", + "windows" => ".dll", + os => panic!("unsupported os: {}", os), }; format!("{}.{}", s, file_ext) @@ -269,7 +269,7 @@ fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result panic!("unsupported os"), + os => panic!("unsupported os: {}", os), }; let module = process.module_by_name(&module_name)?; diff --git a/src/config.rs b/src/config.rs index 1d504ba..e147d26 100644 --- a/src/config.rs +++ b/src/config.rs @@ -8,7 +8,7 @@ pub static CONFIG: LazyLock = LazyLock::new(|| { let file_name = match env::consts::OS { "linux" => "config_linux.json", "windows" => "config_win.json", - _ => panic!("unsupported os"), + os => panic!("unsupported os: {}", os), }; let content = fs::read_to_string(file_name).expect("unable to read config file"); diff --git a/src/main.rs b/src/main.rs index 43b448c..ac04804 100644 --- a/src/main.rs +++ b/src/main.rs @@ -150,7 +150,7 @@ fn extract_args( .unwrap_or_else(|| match env::consts::OS { "linux" => "linux".to_string(), "windows" => "win32".to_string(), - _ => panic!("unsupported os"), + os => panic!("unsupported os: {}", os), }); let indent_size = *matches.get_one::("indent-size").unwrap(); diff --git a/src/output/buttons.rs b/src/output/buttons.rs index e8f65e0..4ec3068 100644 --- a/src/output/buttons.rs +++ b/src/output/buttons.rs @@ -9,10 +9,10 @@ use crate::error::Result; impl CodeGen for Vec