Skip to main content

engage/generated/moon_sharp/interpreter/tree/statements/
assignmentstatement.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        moon_sharp::interpreter::tree::{
10            nodebase::{INodeBase, NodeBase},
11            statement::{IStatement, Statement},
12        },
13        system::object::{IObject, Object},
14    };
15
16    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/tree/statements/assignmentstatement/AssignmentStatement.md"))]
17    #[::unity::class(namespace = "MoonSharp.Interpreter.Tree.Statements", name = "AssignmentStatement")]
18    #[parent(crate::moon_sharp::interpreter::tree::statement::Statement)]
19    pub struct AssignmentStatement {
20        #[offset(32)]
21        #[rename(name = "m_LValues")]
22        pub m_l_values: crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::tree::ivariable::IVariable>,
23        #[offset(40)]
24        #[rename(name = "m_RValues")]
25        pub m_r_values: crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::tree::expression::Expression>,
26        #[offset(48)]
27        #[rename(name = "m_Ref")]
28        pub m_ref: crate::moon_sharp::interpreter::debugging::sourceref::SourceRef,
29    }
30}
31
32#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement-types")]
33pub use __types::*;
34
35#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
36#[doc(hidden)]
37#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
38mod __AssignmentStatement_unity_raw {
39    use super::*;
40    #[doc(hidden)]
41    #[allow(non_snake_case)]
42    pub mod __lookup_ctor {
43        use super::*;
44        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
45            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
46                <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as ::unity::IlType>::il_type(),
47                <crate::moon_sharp::interpreter::tree::token::Token as ::unity::IlType>::il_type(),
48            ];
49            ::unity::lookup::method_info_on_class_with_signature(
50                <AssignmentStatement as ::unity::ClassIdentity>::class(),
51                ".ctor",
52                2,
53                param_types,
54                false,
55            )
56        });
57        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
58            match &*METHOD {
59                ::core::result::Result::Ok(mi) => *mi,
60                ::core::result::Result::Err(e) => {
61                    panic!(
62                        "method lookup failed: {}
63::{}
64: {}
65",
66                        <AssignmentStatement as ::unity::ClassIdentity>::NAME,
67                        ".ctor",
68                        e
69                    )
70                },
71            }
72        }
73    }
74    #[doc(hidden)]
75    #[allow(non_snake_case)]
76    pub mod __lookup_ctor_2 {
77        use super::*;
78        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
79            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
80                <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as ::unity::IlType>::il_type(),
81                <crate::moon_sharp::interpreter::tree::expression::Expression as ::unity::IlType>::il_type(),
82                <crate::moon_sharp::interpreter::tree::token::Token as ::unity::IlType>::il_type(),
83            ];
84            ::unity::lookup::method_info_on_class_with_signature(
85                <AssignmentStatement as ::unity::ClassIdentity>::class(),
86                ".ctor",
87                3,
88                param_types,
89                false,
90            )
91        });
92        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
93            match &*METHOD {
94                ::core::result::Result::Ok(mi) => *mi,
95                ::core::result::Result::Err(e) => {
96                    panic!(
97                        "method lookup failed: {}
98::{}
99: {}
100",
101                        <AssignmentStatement as ::unity::ClassIdentity>::NAME,
102                        ".ctor",
103                        e
104                    )
105                },
106            }
107        }
108    }
109    #[doc(hidden)]
110    #[allow(non_snake_case)]
111    pub mod __lookup_check_var {
112        use super::*;
113        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
114            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
115                <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as ::unity::IlType>::il_type(),
116                <crate::moon_sharp::interpreter::tree::expression::Expression as ::unity::IlType>::il_type(),
117            ];
118            ::unity::lookup::method_info_on_class_with_signature(
119                <AssignmentStatement as ::unity::ClassIdentity>::class(),
120                "CheckVar",
121                2,
122                param_types,
123                false,
124            )
125        });
126        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
127            match &*METHOD {
128                ::core::result::Result::Ok(mi) => *mi,
129                ::core::result::Result::Err(e) => {
130                    panic!(
131                        "method lookup failed: {}
132::{}
133: {}
134",
135                        <AssignmentStatement as ::unity::ClassIdentity>::NAME,
136                        "CheckVar",
137                        e
138                    )
139                },
140            }
141        }
142    }
143}
144
145#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
146pub trait IAssignmentStatementMethods: IAssignmentStatement {
147    #[doc = "`.ctor(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::token::Token)` overload"]
148    fn ctor(
149        self,
150        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
151        start_token: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::token::Token>,
152    ) -> () {
153        unsafe {
154            let __receiver = <AssignmentStatement as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
155            ::unity::il2cpp_call!(__AssignmentStatement_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
156(AssignmentStatement)__receiver,(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext),(crate::moon_sharp::interpreter::tree::token::Token)::core::convert::Into::into(start_token))
157        }
158    }
159    #[doc = "`.ctor(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::token::Token)` overload"]
160    fn ctor_2(
161        self,
162        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
163        first_expression: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
164        first: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::token::Token>,
165    ) -> () {
166        unsafe {
167            let __receiver = <AssignmentStatement as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
168            ::unity::il2cpp_call!(__AssignmentStatement_unity_raw::__lookup_ctor_2::get_method_info().method_ptr,();
169(AssignmentStatement)__receiver,(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext),(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(first_expression),(crate::moon_sharp::interpreter::tree::token::Token)::core::convert::Into::into(first))
170        }
171    }
172    #[doc = "`CheckVar(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::expression::Expression)` overload"]
173    fn check_var(
174        self,
175        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
176        first_expression: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
177    ) -> crate::moon_sharp::interpreter::tree::ivariable::IVariable {
178        unsafe {
179            let __receiver = <AssignmentStatement as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
180            ::unity::il2cpp_call!(__AssignmentStatement_unity_raw::__lookup_check_var::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::ivariable::IVariable;
181(AssignmentStatement)__receiver,(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext),(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(first_expression))
182        }
183    }
184    #[doc = "`Compile(crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode)` overload"]
185    fn compile(self, bc: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode>) -> () {
186        unsafe {
187            let __receiver = <AssignmentStatement as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
188            {
189                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
190                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
191                    panic!(
192                        "unity: virtual slot {}
193 out of range (vtable len {}
194) on the runtime class behind {}
195 (method `{}
196`)",
197                        4usize,
198                        __vt.len(),
199                        <AssignmentStatement as ::unity::ClassIdentity>::NAME,
200                        "Compile",
201                    )
202                });
203                let __inner: extern "C" fn(
204                    AssignmentStatement,
205                    crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
206                    ::unity::OptionalMethod,
207                ) -> () = ::core::mem::transmute(__vi.method_ptr);
208                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
209                __inner(__receiver, ::core::convert::Into::into(bc), __mi)
210            }
211        }
212    }
213}
214
215#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
216impl<__T: IAssignmentStatement> IAssignmentStatementMethods for __T {}
217
218#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
219impl AssignmentStatement {
220    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
221        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
222    }
223
224    pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
225        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
226    }
227
228    pub fn check_var_method_info() -> &'static ::unity::il2cpp::MethodInfo {
229        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
230    }
231
232    pub fn compile_method_info() -> &'static ::unity::il2cpp::MethodInfo {
233        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
234    }
235}
236
237#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
238impl AssignmentStatement {
239    #[doc = "Direct (non-virtual) call to `AssignmentStatement`'s own `Compile`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
240    pub unsafe fn compile(
241        this: impl ::core::convert::Into<::unity::IlInstance>,
242        bc: crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
243    ) -> () {
244        let __mi = Self::compile_method_info();
245        let __inner: extern "C" fn(
246            ::unity::IlInstance,
247            crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
248            ::unity::OptionalMethod,
249        ) -> () = ::core::mem::transmute(__mi.method_ptr);
250        __inner(this.into(), bc, ::core::option::Option::None)
251    }
252}
253
254#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
255impl AssignmentStatement {
256    #[doc = "`.ctor(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::token::Token)` — overload selector"]
257    pub fn new(
258        lcontext: crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext,
259        start_token: crate::moon_sharp::interpreter::tree::token::Token,
260    ) -> Self {
261        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
262            panic!(
263                "{}
264::{}
265 failed to instantiate",
266                ::core::stringify!(AssignmentStatement),
267                ::core::stringify!(new),
268            )
269        });
270        <Self as IAssignmentStatementMethods>::ctor(this, lcontext, start_token);
271        this
272    }
273
274    #[doc = "`.ctor(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::token::Token)` — overload selector"]
275    pub fn new_2(
276        lcontext: crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext,
277        first_expression: crate::moon_sharp::interpreter::tree::expression::Expression,
278        first: crate::moon_sharp::interpreter::tree::token::Token,
279    ) -> Self {
280        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
281            panic!(
282                "{}
283::{}
284 failed to instantiate",
285                ::core::stringify!(AssignmentStatement),
286                ::core::stringify!(new_2),
287            )
288        });
289        <Self as IAssignmentStatementMethods>::ctor_2(this, lcontext, first_expression, first);
290        this
291    }
292}
293
294#[cfg(feature = "moon_sharp-interpreter-tree-statements-assignmentstatement")]
295#[doc(hidden)]
296pub mod prelude {
297    pub use super::{AssignmentStatement, IAssignmentStatement, IAssignmentStatementMethods};
298    #[cfg(feature = "moon_sharp-interpreter-tree-nodebase")]
299    pub use crate::moon_sharp::interpreter::tree::nodebase::INodeBaseMethods;
300    #[cfg(feature = "moon_sharp-interpreter-tree-statement")]
301    pub use crate::moon_sharp::interpreter::tree::statement::IStatementMethods;
302    #[cfg(feature = "system-object")]
303    pub use crate::system::object::IObjectMethods;
304    pub use crate::{
305        moon_sharp::interpreter::tree::{nodebase::INodeBase, statement::IStatement},
306        system::object::IObject,
307    };
308}