Skip to main content

engage/generated/moon_sharp/interpreter/execution/vm/
instruction.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::object::{IObject, Object};
9
10    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/execution/vm/instruction/Instruction.md"))]
11    #[::unity::class(namespace = "MoonSharp.Interpreter.Execution.VM", name = "Instruction")]
12    #[parent(crate::system::object::Object)]
13    pub struct Instruction {
14        #[offset(16)]
15        #[rename(name = "OpCode")]
16        pub op_code: crate::moon_sharp::interpreter::execution::vm::opcode::OpCode,
17        #[offset(24)]
18        #[rename(name = "Symbol")]
19        pub symbol: crate::moon_sharp::interpreter::symbolref::SymbolRef,
20        #[offset(32)]
21        #[rename(name = "SymbolList")]
22        pub symbol_list: ::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>,
23        #[offset(40)]
24        #[rename(name = "Name")]
25        pub name: ::unity::Il2CppString,
26        #[offset(48)]
27        #[rename(name = "Value")]
28        pub value: crate::moon_sharp::interpreter::dynvalue::DynValue,
29        #[offset(56)]
30        #[rename(name = "NumVal")]
31        pub num_val: i32,
32        #[offset(60)]
33        #[rename(name = "NumVal2")]
34        pub num_val2: i32,
35        #[offset(64)]
36        #[rename(name = "SourceCodeRef")]
37        pub source_code_ref: crate::moon_sharp::interpreter::debugging::sourceref::SourceRef,
38    }
39}
40
41#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction-types")]
42pub use __types::*;
43
44#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
45#[doc(hidden)]
46#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
47mod __Instruction_unity_raw {
48    use super::*;
49    #[doc(hidden)]
50    #[allow(non_snake_case)]
51    pub mod __lookup_ctor {
52        use super::*;
53        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
54            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
55                &[<crate::moon_sharp::interpreter::debugging::sourceref::SourceRef as ::unity::IlType>::il_type()];
56            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), ".ctor", 1, param_types, false)
57        });
58        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
59            match &*METHOD {
60                ::core::result::Result::Ok(mi) => *mi,
61                ::core::result::Result::Err(e) => {
62                    panic!(
63                        "method lookup failed: {}
64::{}
65: {}
66",
67                        <Instruction as ::unity::ClassIdentity>::NAME,
68                        ".ctor",
69                        e
70                    )
71                },
72            }
73        }
74    }
75    #[doc(hidden)]
76    #[allow(non_snake_case)]
77    pub mod __lookup_purify_from_new_lines {
78        use super::*;
79        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
80            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
81                &[<crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type()];
82            ::unity::lookup::method_info_on_class_with_signature(
83                <Instruction as ::unity::ClassIdentity>::class(),
84                "PurifyFromNewLines",
85                1,
86                param_types,
87                false,
88            )
89        });
90        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
91            match &*METHOD {
92                ::core::result::Result::Ok(mi) => *mi,
93                ::core::result::Result::Err(e) => {
94                    panic!(
95                        "method lookup failed: {}
96::{}
97: {}
98",
99                        <Instruction as ::unity::ClassIdentity>::NAME,
100                        "PurifyFromNewLines",
101                        e
102                    )
103                },
104            }
105        }
106    }
107    #[doc(hidden)]
108    #[allow(non_snake_case)]
109    pub mod __lookup_gen_spaces {
110        use super::*;
111        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
112            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
113            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), "GenSpaces", 0, param_types, false)
114        });
115        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
116            match &*METHOD {
117                ::core::result::Result::Ok(mi) => *mi,
118                ::core::result::Result::Err(e) => {
119                    panic!(
120                        "method lookup failed: {}
121::{}
122: {}
123",
124                        <Instruction as ::unity::ClassIdentity>::NAME,
125                        "GenSpaces",
126                        e
127                    )
128                },
129            }
130        }
131    }
132    #[doc(hidden)]
133    #[allow(non_snake_case)]
134    pub mod __lookup_write_binary {
135        use super::*;
136        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
137            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::system::io::binarywriter::BinaryWriter as::unity::IlType> ::il_type(), <i32 as::unity::IlType> ::il_type(), <crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>as::unity::IlType> ::il_type()];
138            ::unity::lookup::method_info_on_class_with_signature(
139                <Instruction as ::unity::ClassIdentity>::class(),
140                "WriteBinary",
141                3,
142                param_types,
143                false,
144            )
145        });
146        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
147            match &*METHOD {
148                ::core::result::Result::Ok(mi) => *mi,
149                ::core::result::Result::Err(e) => {
150                    panic!(
151                        "method lookup failed: {}
152::{}
153: {}
154",
155                        <Instruction as ::unity::ClassIdentity>::NAME,
156                        "WriteBinary",
157                        e
158                    )
159                },
160            }
161        }
162    }
163    #[doc(hidden)]
164    #[allow(non_snake_case)]
165    pub mod __lookup_write_symbol {
166        use super::*;
167        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
168            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::system::io::binarywriter::BinaryWriter as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::symbolref::SymbolRef as::unity::IlType> ::il_type(), <crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>as::unity::IlType> ::il_type()];
169            ::unity::lookup::method_info_on_class_with_signature(
170                <Instruction as ::unity::ClassIdentity>::class(),
171                "WriteSymbol",
172                3,
173                param_types,
174                true,
175            )
176        });
177        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
178            match &*METHOD {
179                ::core::result::Result::Ok(mi) => *mi,
180                ::core::result::Result::Err(e) => {
181                    panic!(
182                        "method lookup failed: {}
183::{}
184: {}
185",
186                        <Instruction as ::unity::ClassIdentity>::NAME,
187                        "WriteSymbol",
188                        e
189                    )
190                },
191            }
192        }
193    }
194    #[doc(hidden)]
195    #[allow(non_snake_case)]
196    pub mod __lookup_read_symbol {
197        use super::*;
198        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
199            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
200                <crate::system::io::binaryreader::BinaryReader as ::unity::IlType>::il_type(),
201                <::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef> as ::unity::IlType>::il_type(),
202            ];
203            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), "ReadSymbol", 2, param_types, true)
204        });
205        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
206            match &*METHOD {
207                ::core::result::Result::Ok(mi) => *mi,
208                ::core::result::Result::Err(e) => {
209                    panic!(
210                        "method lookup failed: {}
211::{}
212: {}
213",
214                        <Instruction as ::unity::ClassIdentity>::NAME,
215                        "ReadSymbol",
216                        e
217                    )
218                },
219            }
220        }
221    }
222    #[doc(hidden)]
223    #[allow(non_snake_case)]
224    pub mod __lookup_read_binary {
225        use super::*;
226        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
227            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
228                <crate::moon_sharp::interpreter::debugging::sourceref::SourceRef as ::unity::IlType>::il_type(),
229                <crate::system::io::binaryreader::BinaryReader as ::unity::IlType>::il_type(),
230                <i32 as ::unity::IlType>::il_type(),
231                <crate::moon_sharp::interpreter::table::Table as ::unity::IlType>::il_type(),
232                <::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef> as ::unity::IlType>::il_type(),
233            ];
234            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), "ReadBinary", 5, param_types, true)
235        });
236        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
237            match &*METHOD {
238                ::core::result::Result::Ok(mi) => *mi,
239                ::core::result::Result::Err(e) => {
240                    panic!(
241                        "method lookup failed: {}
242::{}
243: {}
244",
245                        <Instruction as ::unity::ClassIdentity>::NAME,
246                        "ReadBinary",
247                        e
248                    )
249                },
250            }
251        }
252    }
253    #[doc(hidden)]
254    #[allow(non_snake_case)]
255    pub mod __lookup_read_value {
256        use super::*;
257        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
258            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
259                <crate::system::io::binaryreader::BinaryReader as ::unity::IlType>::il_type(),
260                <crate::moon_sharp::interpreter::table::Table as ::unity::IlType>::il_type(),
261            ];
262            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), "ReadValue", 2, param_types, true)
263        });
264        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
265            match &*METHOD {
266                ::core::result::Result::Ok(mi) => *mi,
267                ::core::result::Result::Err(e) => {
268                    panic!(
269                        "method lookup failed: {}
270::{}
271: {}
272",
273                        <Instruction as ::unity::ClassIdentity>::NAME,
274                        "ReadValue",
275                        e
276                    )
277                },
278            }
279        }
280    }
281    #[doc(hidden)]
282    #[allow(non_snake_case)]
283    pub mod __lookup_dump_value {
284        use super::*;
285        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
286            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
287                <crate::system::io::binarywriter::BinaryWriter as ::unity::IlType>::il_type(),
288                <crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type(),
289            ];
290            ::unity::lookup::method_info_on_class_with_signature(<Instruction as ::unity::ClassIdentity>::class(), "DumpValue", 2, param_types, false)
291        });
292        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
293            match &*METHOD {
294                ::core::result::Result::Ok(mi) => *mi,
295                ::core::result::Result::Err(e) => {
296                    panic!(
297                        "method lookup failed: {}
298::{}
299: {}
300",
301                        <Instruction as ::unity::ClassIdentity>::NAME,
302                        "DumpValue",
303                        e
304                    )
305                },
306            }
307        }
308    }
309    #[doc(hidden)]
310    #[allow(non_snake_case)]
311    pub mod __lookup_get_symbol_references {
312        use super::*;
313        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
314            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
315                <::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef> as ::unity::IlType>::il_type(),
316                <crate::moon_sharp::interpreter::symbolref::SymbolRef as ::unity::IlType>::il_type(),
317            ];
318            ::unity::lookup::method_info_on_class_with_signature(
319                <Instruction as ::unity::ClassIdentity>::class(),
320                "GetSymbolReferences",
321                2,
322                param_types,
323                false,
324            )
325        });
326        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
327            match &*METHOD {
328                ::core::result::Result::Ok(mi) => *mi,
329                ::core::result::Result::Err(e) => {
330                    panic!(
331                        "method lookup failed: {}
332::{}
333: {}
334",
335                        <Instruction as ::unity::ClassIdentity>::NAME,
336                        "GetSymbolReferences",
337                        e
338                    )
339                },
340            }
341        }
342    }
343}
344
345#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
346impl Instruction {
347    #[doc = "`WriteSymbol(crate::system::io::binarywriter::BinaryWriter, crate::moon_sharp::interpreter::symbolref::SymbolRef, crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>)` overload"]
348    pub fn write_symbol(
349        wr: impl ::core::convert::Into<crate::system::io::binarywriter::BinaryWriter>,
350        symbol_ref: impl ::core::convert::Into<crate::moon_sharp::interpreter::symbolref::SymbolRef>,
351        symbol_map: impl ::core::convert::Into<
352            crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef, i32>,
353        >,
354    ) -> () {
355        unsafe {
356            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_write_symbol::get_method_info().method_ptr,();
357(crate::system::io::binarywriter::BinaryWriter)::core::convert::Into::into(wr),(crate::moon_sharp::interpreter::symbolref::SymbolRef)::core::convert::Into::into(symbol_ref),(crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>)::core::convert::Into::into(symbol_map))
358        }
359    }
360
361    #[doc = "`ReadSymbol(crate::system::io::binaryreader::BinaryReader, ::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>)` overload"]
362    pub fn read_symbol(
363        rd: impl ::core::convert::Into<crate::system::io::binaryreader::BinaryReader>,
364        deserialized_symbols: impl ::core::convert::Into<::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>>,
365    ) -> crate::moon_sharp::interpreter::symbolref::SymbolRef {
366        unsafe {
367            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_read_symbol::get_method_info().method_ptr,crate::moon_sharp::interpreter::symbolref::SymbolRef;
368(crate::system::io::binaryreader::BinaryReader)::core::convert::Into::into(rd),(::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>)::core::convert::Into::into(deserialized_symbols))
369        }
370    }
371
372    #[doc = "`ReadBinary(crate::moon_sharp::interpreter::debugging::sourceref::SourceRef, crate::system::io::binaryreader::BinaryReader, i32, crate::moon_sharp::interpreter::table::Table, ::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>)` overload"]
373    pub fn read_binary(
374        chunk_ref: impl ::core::convert::Into<crate::moon_sharp::interpreter::debugging::sourceref::SourceRef>,
375        rd: impl ::core::convert::Into<crate::system::io::binaryreader::BinaryReader>,
376        base_address: impl ::core::convert::Into<i32>,
377        env_table: impl ::core::convert::Into<crate::moon_sharp::interpreter::table::Table>,
378        deserialized_symbols: impl ::core::convert::Into<::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>>,
379    ) -> crate::moon_sharp::interpreter::execution::vm::instruction::Instruction {
380        unsafe {
381            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_read_binary::get_method_info().method_ptr,crate::moon_sharp::interpreter::execution::vm::instruction::Instruction;
382(crate::moon_sharp::interpreter::debugging::sourceref::SourceRef)::core::convert::Into::into(chunk_ref),(crate::system::io::binaryreader::BinaryReader)::core::convert::Into::into(rd),(i32)::core::convert::Into::into(base_address),(crate::moon_sharp::interpreter::table::Table)::core::convert::Into::into(env_table),(::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>)::core::convert::Into::into(deserialized_symbols))
383        }
384    }
385
386    #[doc = "`ReadValue(crate::system::io::binaryreader::BinaryReader, crate::moon_sharp::interpreter::table::Table)` overload"]
387    pub fn read_value(
388        rd: impl ::core::convert::Into<crate::system::io::binaryreader::BinaryReader>,
389        env_table: impl ::core::convert::Into<crate::moon_sharp::interpreter::table::Table>,
390    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
391        unsafe {
392            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_read_value::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
393(crate::system::io::binaryreader::BinaryReader)::core::convert::Into::into(rd),(crate::moon_sharp::interpreter::table::Table)::core::convert::Into::into(env_table))
394        }
395    }
396}
397
398#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
399pub trait IInstructionMethods: IInstruction {
400    #[doc = "`.ctor(crate::moon_sharp::interpreter::debugging::sourceref::SourceRef)` overload"]
401    fn ctor(self, sourceref: impl ::core::convert::Into<crate::moon_sharp::interpreter::debugging::sourceref::SourceRef>) -> () {
402        unsafe {
403            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
404            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
405(Instruction)__receiver,(crate::moon_sharp::interpreter::debugging::sourceref::SourceRef)::core::convert::Into::into(sourceref))
406        }
407    }
408    #[doc = "`ToString()` overload"]
409    fn to_string(self) -> ::unity::Il2CppString {
410        unsafe {
411            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
412            {
413                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
414                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
415                    panic!(
416                        "unity: virtual slot {}
417 out of range (vtable len {}
418) on the runtime class behind {}
419 (method `{}
420`)",
421                        3usize,
422                        __vt.len(),
423                        <Instruction as ::unity::ClassIdentity>::NAME,
424                        "ToString",
425                    )
426                });
427                let __inner: extern "C" fn(Instruction, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
428                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
429                __inner(__receiver, __mi)
430            }
431        }
432    }
433    #[doc = "`PurifyFromNewLines(crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
434    fn purify_from_new_lines(self, value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>) -> ::unity::Il2CppString {
435        unsafe {
436            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
437            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_purify_from_new_lines::get_method_info().method_ptr, ::unity::Il2CppString;
438(Instruction)__receiver,(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(value))
439        }
440    }
441    #[doc = "`GenSpaces()` overload"]
442    fn gen_spaces(self) -> ::unity::Il2CppString {
443        unsafe {
444            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
445            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_gen_spaces::get_method_info().method_ptr, ::unity::Il2CppString;
446(Instruction)__receiver)
447        }
448    }
449    #[doc = "`WriteBinary(crate::system::io::binarywriter::BinaryWriter, i32, crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>)` overload"]
450    fn write_binary(
451        self,
452        wr: impl ::core::convert::Into<crate::system::io::binarywriter::BinaryWriter>,
453        base_address: impl ::core::convert::Into<i32>,
454        symbol_map: impl ::core::convert::Into<
455            crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef, i32>,
456        >,
457    ) -> () {
458        unsafe {
459            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
460            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_write_binary::get_method_info().method_ptr,();
461(Instruction)__receiver,(crate::system::io::binarywriter::BinaryWriter)::core::convert::Into::into(wr),(i32)::core::convert::Into::into(base_address),(crate::system::collections::generic::dictionary_2::Dictionary_2<crate::moon_sharp::interpreter::symbolref::SymbolRef,i32>)::core::convert::Into::into(symbol_map))
462        }
463    }
464    #[doc = "`DumpValue(crate::system::io::binarywriter::BinaryWriter, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
465    fn dump_value(
466        self,
467        wr: impl ::core::convert::Into<crate::system::io::binarywriter::BinaryWriter>,
468        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
469    ) -> () {
470        unsafe {
471            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
472            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_dump_value::get_method_info().method_ptr,();
473(Instruction)__receiver,(crate::system::io::binarywriter::BinaryWriter)::core::convert::Into::into(wr),(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(value))
474        }
475    }
476    #[doc = "`GetSymbolReferences(*mut::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>, *mutcrate::moon_sharp::interpreter::symbolref::SymbolRef)` overload"]
477    fn get_symbol_references(
478        self,
479    ) -> (
480        ::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>,
481        crate::moon_sharp::interpreter::symbolref::SymbolRef,
482    ) {
483        unsafe {
484            let __receiver = <Instruction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
485            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>>::uninit();
486            let mut __out_1 = ::core::mem::MaybeUninit::<crate::moon_sharp::interpreter::symbolref::SymbolRef>::uninit();
487            ::unity::il2cpp_call!(__Instruction_unity_raw::__lookup_get_symbol_references::get_method_info().method_ptr,();
488(Instruction)__receiver,(*mut::unity::Array<crate::moon_sharp::interpreter::symbolref::SymbolRef>)__out_0.as_mut_ptr(),(*mut crate::moon_sharp::interpreter::symbolref::SymbolRef)__out_1.as_mut_ptr());
489            (__out_0.assume_init(), __out_1.assume_init())
490        }
491    }
492}
493
494#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
495impl<__T: IInstruction> IInstructionMethods for __T {}
496
497#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
498impl Instruction {
499    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
500        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
501    }
502
503    pub fn to_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
504        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
505    }
506
507    pub fn purify_from_new_lines_method_info() -> &'static ::unity::il2cpp::MethodInfo {
508        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
509    }
510
511    pub fn gen_spaces_method_info() -> &'static ::unity::il2cpp::MethodInfo {
512        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
513    }
514
515    pub fn write_binary_method_info() -> &'static ::unity::il2cpp::MethodInfo {
516        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
517    }
518
519    pub fn write_symbol_method_info() -> &'static ::unity::il2cpp::MethodInfo {
520        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
521    }
522
523    pub fn read_symbol_method_info() -> &'static ::unity::il2cpp::MethodInfo {
524        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
525    }
526
527    pub fn read_binary_method_info() -> &'static ::unity::il2cpp::MethodInfo {
528        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
529    }
530
531    pub fn read_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
532        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
533    }
534
535    pub fn dump_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
536        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
537    }
538
539    pub fn get_symbol_references_method_info() -> &'static ::unity::il2cpp::MethodInfo {
540        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
541    }
542}
543
544#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
545impl Instruction {
546    #[doc = "Direct (non-virtual) call to `Instruction`'s own `ToString`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
547    pub unsafe fn to_string(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
548        let __mi = Self::to_string_method_info();
549        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
550        __inner(this.into(), ::core::option::Option::None)
551    }
552}
553
554#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
555impl Instruction {
556    #[doc = "`.ctor(crate::moon_sharp::interpreter::debugging::sourceref::SourceRef)` — overload selector"]
557    pub fn new(sourceref: crate::moon_sharp::interpreter::debugging::sourceref::SourceRef) -> Self {
558        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
559            panic!(
560                "{}
561::{}
562 failed to instantiate",
563                ::core::stringify!(Instruction),
564                ::core::stringify!(new),
565            )
566        });
567        <Self as IInstructionMethods>::ctor(this, sourceref);
568        this
569    }
570}
571
572#[cfg(feature = "moon_sharp-interpreter-execution-vm-instruction")]
573#[doc(hidden)]
574pub mod prelude {
575    pub use super::{IInstruction, IInstructionMethods, Instruction};
576    pub use crate::system::object::IObject;
577    #[cfg(feature = "system-object")]
578    pub use crate::system::object::IObjectMethods;
579}