From 0987e57963277c73ec7024703c72f21384833a5f Mon Sep 17 00:00:00 2001 From: Janis Date: Sat, 22 Apr 2023 02:13:14 +0200 Subject: [PATCH] renamed field getters, unsafe cast - renamed field getter functions to just the field, and field_mut for &mut getters - made casting `unsafe` to make sure it explicitly is checked each time - fixed injected types being NonNull --- src/global_tables/objects.rs | 6 ++++++ src/sdk/output/rust.rs | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/global_tables/objects.rs b/src/global_tables/objects.rs index 577b122..9e39cc0 100644 --- a/src/global_tables/objects.rs +++ b/src/global_tables/objects.rs @@ -255,6 +255,12 @@ pub mod par_iter { } } +pub trait FindObject { + fn find_object(&self, object_name: S) -> Option + where + S: Into; +} + pub trait FindClass { fn find_class(&self, class_name: S) -> Option where diff --git a/src/sdk/output/rust.rs b/src/sdk/output/rust.rs index 985d6d2..1cc2c6a 100644 --- a/src/sdk/output/rust.rs +++ b/src/sdk/output/rust.rs @@ -268,7 +268,7 @@ pub fn generate_class_impl(class: &Class, sdk: &Sdk, w: &mut W) -> any writeln!(w, "pub trait {}Fields: AsPtr {{", name)?; for field in fields { - write!(w, "fn get_{}(&self) -> &", field.name)?; + write!(w, "fn {}(&self) -> &", field.name)?; field.ty.rust_type(sdk, w)?; writeln!( w, @@ -276,7 +276,7 @@ pub fn generate_class_impl(class: &Class, sdk: &Sdk, w: &mut W) -> any field.offset )?; - write!(w, "fn get_{}_mut(&mut self) -> &mut ", field.name)?; + write!(w, "fn {}_mut(&mut self) -> &mut ", field.name)?; field.ty.rust_type(sdk, w)?; writeln!( w, @@ -346,7 +346,7 @@ fn generate_find_object(name: &str, w: &mut W) -> anyhow::Result<()> { None }} }} - }}).map(|object| object.cast()) + }}).map(|object| unsafe {{ object.cast() }}) }} "# )?; @@ -406,7 +406,7 @@ pub fn generate_method( } } - writeln!(w, "let flags = *func.get_function_flags();")?; + writeln!(w, "let flags = *func.function_flags();")?; writeln!(w, "process_event(self.as_uobject(), func, &mut params);")?; writeln!(w, "func.set_function_flags(flags);")?; @@ -554,7 +554,7 @@ pub(crate) fn inject_coreuobject_types(sdk: &mut Sdk) { offset: 16, size: 8, name: "class".to_string(), - ty: Type::Primitive(PrimitiveType::Custom("Option>")), + ty: Type::Primitive(PrimitiveType::Custom("Option")), }, ClassField { offset: 24, @@ -566,7 +566,7 @@ pub(crate) fn inject_coreuobject_types(sdk: &mut Sdk) { offset: 32, size: 8, name: "outer".to_string(), - ty: Type::Primitive(PrimitiveType::Custom("Option>")), + ty: Type::Primitive(PrimitiveType::Custom("Option")), }, ], methods: vec![], @@ -583,7 +583,7 @@ pub(crate) fn inject_coreuobject_types(sdk: &mut Sdk) { offset: 40, size: 8, name: "next".to_string(), - ty: Type::Primitive(PrimitiveType::Custom("Option>")), + ty: Type::Primitive(PrimitiveType::Custom("Option")), }], methods: vec![], };