Changes for duimper #4

Merged
xavo95 merged 5 commits from duimper-modifications into master 2024-09-28 20:35:16 +00:00
Showing only changes of commit b865e52205 - Show all commits

View file

@ -146,12 +146,11 @@ pub fn impl_dumper(codegen_path: &Path) -> io::Result<()> {
); );
} else if line.contains("pub struct") { } else if line.contains("pub struct") {
if let Some(id) = id.take() { if let Some(id) = id.take() {
let name = format_ident!( let name = line.trim_start().split(' ').nth(2).unwrap().to_string();
"{}", line.trim_start().split(' ').nth(2).unwrap().to_string() let name_ident = format_ident!("{}", name);
);
match_arms = quote! { match_arms = quote! {
#match_arms #match_arms
#id => serde_json::to_string_pretty(&#name::decode(data).unwrap()), #id => Ok((#name, serde_json::to_string_pretty(&#name_ident::decode(data)?)?)),
}; };
} }
} }
@ -166,11 +165,19 @@ pub fn impl_dumper(codegen_path: &Path) -> io::Result<()> {
use crate::debug::*; use crate::debug::*;
use crate::summon::*; use crate::summon::*;
pub fn get_debug_info(id: u16, data: &[u8]) -> String { #[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("serde_json::Error: {0}")]
Json(#[from] serde_json::Error),
#[error("serde_json::Error: {0}")]
Decode(#[from] prost::DecodeError),
}
pub fn get_debug_info(id: u16, data: &[u8]) -> Result<(&str, String), Error> {
match id { match id {
#match_arms #match_arms
_ => Ok("".to_string()), _ => Ok(("UnknownType", "".to_string())),
}.unwrap() }
} }
} }
}; };