diff --git a/src/sdk/process.rs b/src/sdk/process.rs index c971e09..8a7a922 100644 --- a/src/sdk/process.rs +++ b/src/sdk/process.rs @@ -105,26 +105,8 @@ impl ClassMethod { AnyField::Property(prop) => Some(prop), _ => None, }) - .map(|prop| -> anyhow::Result> { - let param = ClassField { - offset: *prop.offset() as u32, - size: *prop.element_size() as u32, - name: prop.get_name().context("failed to get property name")?, - flags: *prop.property_flags(), - ty: if let Ok(ty) = resolve_type(prop) { - ty - } else { - log::warn!("skipping field {} with offset 0x{:x}", prop, prop.offset()); - return Ok(None); - }, - }; - - Ok(Some(param)) - }) - .fold_ok(Vec::new(), |mut acc, field| { - acc.extend(field); - acc - })?; + .map(|prop| ClassField::from_uprop(prop)) + .collect::>>()?; Ok(ClassMethod { name,