Skip to main content

engage/generated/system/reflection/
assembly.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "system-reflection-assembly-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        io::{
10            stream::{IStream, Stream},
11            unmanagedmemorystream::{IUnmanagedMemoryStream, UnmanagedMemoryStream},
12        },
13        object::{IObject, Object},
14    };
15
16    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/reflection/assembly/Assembly_ResolveEventHolder.md"))]
17    #[::unity::class(namespace = "System.Reflection", name = "Assembly.ResolveEventHolder")]
18    #[parent(crate::system::object::Object)]
19    pub struct Assembly_ResolveEventHolder {}
20
21    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/reflection/assembly/Assembly.md"))]
22    #[::unity::class(namespace = "System.Reflection", name = "Assembly")]
23    #[parent(crate::system::object::Object)]
24    pub struct Assembly {
25        #[offset(16)]
26        #[rename(name = "_mono_assembly")]
27        pub mono_assembly: ::unity::IntPtr,
28        #[offset(24)]
29        #[rename(name = "resolve_event_holder")]
30        pub resolve_event_holder: crate::system::reflection::assembly::Assembly_ResolveEventHolder,
31        #[offset(32)]
32        #[rename(name = "_evidence")]
33        pub evidence: ::unity::IlInstance,
34        #[offset(40)]
35        #[rename(name = "_minimum")]
36        pub minimum: ::unity::IlInstance,
37        #[offset(48)]
38        #[rename(name = "_optional")]
39        pub optional: ::unity::IlInstance,
40        #[offset(56)]
41        #[rename(name = "_refuse")]
42        pub refuse: ::unity::IlInstance,
43        #[offset(64)]
44        #[rename(name = "_granted")]
45        pub granted: ::unity::IlInstance,
46        #[offset(72)]
47        #[rename(name = "_denied")]
48        pub denied: ::unity::IlInstance,
49        #[offset(80)]
50        #[rename(name = "fromByteArray")]
51        pub from_byte_array: bool,
52        #[offset(88)]
53        #[rename(name = "assemblyName")]
54        pub assembly_name: ::unity::Il2CppString,
55    }
56
57    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/reflection/assembly/Assembly_UnmanagedMemoryStreamForModule.md"))]
58    #[::unity::class(namespace = "System.Reflection", name = "Assembly.UnmanagedMemoryStreamForModule")]
59    #[parent(crate::system::io::unmanagedmemorystream::UnmanagedMemoryStream)]
60    pub struct Assembly_UnmanagedMemoryStreamForModule {
61        #[offset(104)]
62        #[rename(name = "module")]
63        pub module: crate::system::reflection::module::Module,
64    }
65}
66
67#[cfg(feature = "system-reflection-assembly-types")]
68pub use __types::*;
69
70#[cfg(feature = "system-reflection-assembly")]
71pub trait IAssembly_ResolveEventHolderMethods: IAssembly_ResolveEventHolder {
72    #[doc = "`.ctor()` overload"]
73    fn ctor(self) -> () {
74        unsafe {
75            let __receiver =
76                <Assembly_ResolveEventHolder as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
77            ::unity::il2cpp_call!((::unity::module_base()+0x34cdc40usize)as*mut u8,();
78(Assembly_ResolveEventHolder)__receiver)
79        }
80    }
81}
82
83#[cfg(feature = "system-reflection-assembly")]
84impl<__T: IAssembly_ResolveEventHolder> IAssembly_ResolveEventHolderMethods for __T {}
85
86#[cfg(feature = "system-reflection-assembly")]
87impl Assembly_ResolveEventHolder {
88    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
89        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
90    }
91}
92
93#[cfg(feature = "system-reflection-assembly")]
94impl Assembly_ResolveEventHolder {
95    #[doc = "`.ctor()` — no args"]
96    pub fn new() -> Self {
97        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
98            panic!(
99                "{}
100::{}
101 failed to instantiate",
102                ::core::stringify!(Assembly_ResolveEventHolder),
103                ::core::stringify!(new),
104            )
105        });
106        <Self as IAssembly_ResolveEventHolderMethods>::ctor(this);
107        this
108    }
109}
110
111#[cfg(feature = "system-reflection-assembly")]
112impl Assembly {
113    #[doc = "`GetAotId()` overload"]
114    pub fn get_aot_id() -> ::unity::Il2CppString {
115        unsafe {
116            ::unity::il2cpp_call!((::unity::module_base()+0x3400eb0usize)as*mut u8, ::unity::Il2CppString;
117            )
118        }
119    }
120
121    #[doc = "`GetAssembly(::unity::SystemType)` overload"]
122    pub fn get_assembly(r#type: impl ::core::convert::Into<::unity::SystemType>) -> crate::system::reflection::assembly::Assembly {
123        unsafe {
124            ::unity::il2cpp_call!((::unity::module_base()+0x3401540usize)as*mut u8,crate::system::reflection::assembly::Assembly;
125(::unity::SystemType)::core::convert::Into::into(r#type))
126        }
127    }
128
129    #[doc = "`Load(::unity::Il2CppString)` overload"]
130    pub fn load(assembly_string: impl ::core::convert::Into<::unity::Il2CppString>) -> crate::system::reflection::assembly::Assembly {
131        unsafe {
132            ::unity::il2cpp_call!((::unity::module_base()+0x33f4680usize)as*mut u8,crate::system::reflection::assembly::Assembly;
133(::unity::Il2CppString)::core::convert::Into::into(assembly_string))
134        }
135    }
136
137    #[doc = "`GetExecutingAssembly()` overload"]
138    pub fn get_executing_assembly() -> crate::system::reflection::assembly::Assembly {
139        unsafe {
140            ::unity::il2cpp_call!((::unity::module_base()+0x3401710usize)as*mut u8,crate::system::reflection::assembly::Assembly;
141            )
142        }
143    }
144
145    #[doc = "`GetCallingAssembly()` overload"]
146    pub fn get_calling_assembly() -> crate::system::reflection::assembly::Assembly {
147        unsafe {
148            ::unity::il2cpp_call!((::unity::module_base()+0x3401760usize)as*mut u8,crate::system::reflection::assembly::Assembly;
149            )
150        }
151    }
152
153    #[doc = "`op_Equality(crate::system::reflection::assembly::Assembly, crate::system::reflection::assembly::Assembly)` overload"]
154    pub fn op_equality(
155        left: impl ::core::convert::Into<crate::system::reflection::assembly::Assembly>,
156        right: impl ::core::convert::Into<crate::system::reflection::assembly::Assembly>,
157    ) -> bool {
158        unsafe {
159            ::unity::il2cpp_call!((::unity::module_base()+0x33f7d20usize)as*mut u8,bool;
160(crate::system::reflection::assembly::Assembly)::core::convert::Into::into(left),(crate::system::reflection::assembly::Assembly)::core::convert::Into::into(right))
161        }
162    }
163
164    #[doc = "`op_Inequality(crate::system::reflection::assembly::Assembly, crate::system::reflection::assembly::Assembly)` overload"]
165    pub fn op_inequality(
166        left: impl ::core::convert::Into<crate::system::reflection::assembly::Assembly>,
167        right: impl ::core::convert::Into<crate::system::reflection::assembly::Assembly>,
168    ) -> bool {
169        unsafe {
170            ::unity::il2cpp_call!((::unity::module_base()+0x33f8870usize)as*mut u8,bool;
171(crate::system::reflection::assembly::Assembly)::core::convert::Into::into(left),(crate::system::reflection::assembly::Assembly)::core::convert::Into::into(right))
172        }
173    }
174}
175
176#[cfg(feature = "system-reflection-assembly")]
177pub trait IAssemblyMethods: IAssembly {
178    #[doc = "`.ctor()` overload"]
179    fn ctor(self) -> () {
180        unsafe {
181            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
182            ::unity::il2cpp_call!((::unity::module_base()+0x3400e00usize)as*mut u8,();
183(Assembly)__receiver)
184        }
185    }
186    #[doc = "`get_code_base(bool)` overload"]
187    fn get_code_base(self, escaped: impl ::core::convert::Into<bool>) -> ::unity::Il2CppString {
188        unsafe {
189            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
190            ::unity::il2cpp_call!((::unity::module_base()+0x3400e80usize)as*mut u8, ::unity::Il2CppString;
191(Assembly)__receiver,(bool)::core::convert::Into::into(escaped))
192        }
193    }
194    #[doc = "`get_fullname()` overload"]
195    fn get_fullname(self) -> ::unity::Il2CppString {
196        unsafe {
197            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
198            ::unity::il2cpp_call!((::unity::module_base()+0x3400e90usize)as*mut u8, ::unity::Il2CppString;
199(Assembly)__receiver)
200        }
201    }
202    #[doc = "`get_location()` overload"]
203    fn get_location(self) -> ::unity::Il2CppString {
204        unsafe {
205            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
206            ::unity::il2cpp_call!((::unity::module_base()+0x3400ea0usize)as*mut u8, ::unity::Il2CppString;
207(Assembly)__receiver)
208        }
209    }
210    #[doc = "`get_CodeBase()` overload"]
211    fn get_code_base_2(self) -> ::unity::Il2CppString {
212        unsafe {
213            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
214            {
215                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
216                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
217                    panic!(
218                        "unity: virtual slot {}
219 out of range (vtable len {}
220) on the runtime class behind {}
221 (method `{}
222`)",
223                        7usize,
224                        __vt.len(),
225                        <Assembly as ::unity::ClassIdentity>::NAME,
226                        "get_CodeBase",
227                    )
228                });
229                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
230                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
231                __inner(__receiver, __mi)
232            }
233        }
234    }
235    #[doc = "`get_FullName()` overload"]
236    fn get_full_name(self) -> ::unity::Il2CppString {
237        unsafe {
238            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
239            {
240                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
241                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
242                    panic!(
243                        "unity: virtual slot {}
244 out of range (vtable len {}
245) on the runtime class behind {}
246 (method `{}
247`)",
248                        8usize,
249                        __vt.len(),
250                        <Assembly as ::unity::ClassIdentity>::NAME,
251                        "get_FullName",
252                    )
253                });
254                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
255                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
256                __inner(__receiver, __mi)
257            }
258        }
259    }
260    #[doc = "`IsDefined(::unity::SystemType, bool)` overload"]
261    fn is_defined(self, attribute_type: impl ::core::convert::Into<::unity::SystemType>, inherit: impl ::core::convert::Into<bool>) -> bool {
262        unsafe {
263            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
264            {
265                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
266                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
267                    panic!(
268                        "unity: virtual slot {}
269 out of range (vtable len {}
270) on the runtime class behind {}
271 (method `{}
272`)",
273                        11usize,
274                        __vt.len(),
275                        <Assembly as ::unity::ClassIdentity>::NAME,
276                        "IsDefined",
277                    )
278                });
279                let __inner: extern "C" fn(Assembly, ::unity::SystemType, bool, ::unity::OptionalMethod) -> bool =
280                    ::core::mem::transmute(__vi.method_ptr);
281                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
282                __inner(
283                    __receiver,
284                    ::core::convert::Into::into(attribute_type),
285                    ::core::convert::Into::into(inherit),
286                    __mi,
287                )
288            }
289        }
290    }
291    #[doc = "`GetCustomAttributes(::unity::SystemType, bool)` overload"]
292    fn get_custom_attributes(
293        self,
294        attribute_type: impl ::core::convert::Into<::unity::SystemType>,
295        inherit: impl ::core::convert::Into<bool>,
296    ) -> ::unity::Array<crate::system::object::Object> {
297        unsafe {
298            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
299            {
300                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
301                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
302                    panic!(
303                        "unity: virtual slot {}
304 out of range (vtable len {}
305) on the runtime class behind {}
306 (method `{}
307`)",
308                        12usize,
309                        __vt.len(),
310                        <Assembly as ::unity::ClassIdentity>::NAME,
311                        "GetCustomAttributes",
312                    )
313                });
314                let __inner: extern "C" fn(
315                    Assembly,
316                    ::unity::SystemType,
317                    bool,
318                    ::unity::OptionalMethod,
319                ) -> ::unity::Array<crate::system::object::Object> = ::core::mem::transmute(__vi.method_ptr);
320                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
321                __inner(
322                    __receiver,
323                    ::core::convert::Into::into(attribute_type),
324                    ::core::convert::Into::into(inherit),
325                    __mi,
326                )
327            }
328        }
329    }
330    #[doc = "`GetManifestResourceInternal(::unity::Il2CppString, *muti32, *mutcrate::system::reflection::module::Module)` overload"]
331    fn get_manifest_resource_internal(
332        self,
333        name: impl ::core::convert::Into<::unity::Il2CppString>,
334    ) -> (::unity::IntPtr, i32, crate::system::reflection::module::Module) {
335        unsafe {
336            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
337            let mut __out_0 = ::core::mem::MaybeUninit::<i32>::uninit();
338            let mut __out_1 = ::core::mem::MaybeUninit::<crate::system::reflection::module::Module>::uninit();
339            let __ret = {
340                ::unity::il2cpp_call!((::unity::module_base()+0x34010c0usize)as*mut u8, ::unity::IntPtr;
341(Assembly)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(*mut i32)__out_0.as_mut_ptr(),(*mut crate::system::reflection::module::Module)__out_1.as_mut_ptr())
342            };
343            (__ret, __out_0.assume_init(), __out_1.assume_init())
344        }
345    }
346    #[doc = "`GetManifestResourceStream(::unity::Il2CppString)` overload"]
347    fn get_manifest_resource_stream(self, name: impl ::core::convert::Into<::unity::Il2CppString>) -> crate::system::io::stream::Stream {
348        unsafe {
349            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
350            {
351                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
352                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
353                    panic!(
354                        "unity: virtual slot {}
355 out of range (vtable len {}
356) on the runtime class behind {}
357 (method `{}
358`)",
359                        13usize,
360                        __vt.len(),
361                        <Assembly as ::unity::ClassIdentity>::NAME,
362                        "GetManifestResourceStream",
363                    )
364                });
365                let __inner: extern "C" fn(Assembly, ::unity::Il2CppString, ::unity::OptionalMethod) -> crate::system::io::stream::Stream =
366                    ::core::mem::transmute(__vi.method_ptr);
367                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
368                __inner(__receiver, ::core::convert::Into::into(name), __mi)
369            }
370        }
371    }
372    #[doc = "`GetTypes(bool)` overload"]
373    fn get_types(self, exported_only: impl ::core::convert::Into<bool>) -> ::unity::Array<::unity::SystemType> {
374        unsafe {
375            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
376            {
377                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
378                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
379                    panic!(
380                        "unity: virtual slot {}
381 out of range (vtable len {}
382) on the runtime class behind {}
383 (method `{}
384`)",
385                        14usize,
386                        __vt.len(),
387                        <Assembly as ::unity::ClassIdentity>::NAME,
388                        "GetTypes",
389                    )
390                });
391                let __inner: extern "C" fn(Assembly, bool, ::unity::OptionalMethod) -> ::unity::Array<::unity::SystemType> =
392                    ::core::mem::transmute(__vi.method_ptr);
393                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
394                __inner(__receiver, ::core::convert::Into::into(exported_only), __mi)
395            }
396        }
397    }
398    #[doc = "`GetTypes()` overload"]
399    fn get_types_2(self) -> ::unity::Array<::unity::SystemType> {
400        unsafe {
401            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
402            {
403                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
404                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
405                    panic!(
406                        "unity: virtual slot {}
407 out of range (vtable len {}
408) on the runtime class behind {}
409 (method `{}
410`)",
411                        15usize,
412                        __vt.len(),
413                        <Assembly as ::unity::ClassIdentity>::NAME,
414                        "GetTypes",
415                    )
416                });
417                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Array<::unity::SystemType> =
418                    ::core::mem::transmute(__vi.method_ptr);
419                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
420                __inner(__receiver, __mi)
421            }
422        }
423    }
424    #[doc = "`GetType(::unity::Il2CppString, bool)` overload"]
425    fn get_type(
426        self,
427        name: impl ::core::convert::Into<::unity::Il2CppString>,
428        throw_on_error: impl ::core::convert::Into<bool>,
429    ) -> ::unity::SystemType {
430        unsafe {
431            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
432            {
433                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
434                let __vi = *__vt.get(16usize).unwrap_or_else(|| {
435                    panic!(
436                        "unity: virtual slot {}
437 out of range (vtable len {}
438) on the runtime class behind {}
439 (method `{}
440`)",
441                        16usize,
442                        __vt.len(),
443                        <Assembly as ::unity::ClassIdentity>::NAME,
444                        "GetType",
445                    )
446                });
447                let __inner: extern "C" fn(Assembly, ::unity::Il2CppString, bool, ::unity::OptionalMethod) -> ::unity::SystemType =
448                    ::core::mem::transmute(__vi.method_ptr);
449                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
450                __inner(
451                    __receiver,
452                    ::core::convert::Into::into(name),
453                    ::core::convert::Into::into(throw_on_error),
454                    __mi,
455                )
456            }
457        }
458    }
459    #[doc = "`GetType(::unity::Il2CppString)` overload"]
460    fn get_type_2(self, name: impl ::core::convert::Into<::unity::Il2CppString>) -> ::unity::SystemType {
461        unsafe {
462            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
463            {
464                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
465                let __vi = *__vt.get(17usize).unwrap_or_else(|| {
466                    panic!(
467                        "unity: virtual slot {}
468 out of range (vtable len {}
469) on the runtime class behind {}
470 (method `{}
471`)",
472                        17usize,
473                        __vt.len(),
474                        <Assembly as ::unity::ClassIdentity>::NAME,
475                        "GetType",
476                    )
477                });
478                let __inner: extern "C" fn(Assembly, ::unity::Il2CppString, ::unity::OptionalMethod) -> ::unity::SystemType =
479                    ::core::mem::transmute(__vi.method_ptr);
480                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
481                __inner(__receiver, ::core::convert::Into::into(name), __mi)
482            }
483        }
484    }
485    #[doc = "`InternalGetType(crate::system::reflection::module::Module, ::unity::Il2CppString, bool, bool)` overload"]
486    fn internal_get_type(
487        self,
488        module: impl ::core::convert::Into<crate::system::reflection::module::Module>,
489        name: impl ::core::convert::Into<::unity::Il2CppString>,
490        throw_on_error: impl ::core::convert::Into<bool>,
491        ignore_case: impl ::core::convert::Into<bool>,
492    ) -> ::unity::SystemType {
493        unsafe {
494            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
495            ::unity::il2cpp_call!((::unity::module_base()+0x3401480usize)as*mut u8, ::unity::SystemType;
496(Assembly)__receiver,(crate::system::reflection::module::Module)::core::convert::Into::into(module),(::unity::Il2CppString)::core::convert::Into::into(name),(bool)::core::convert::Into::into(throw_on_error),(bool)::core::convert::Into::into(ignore_case))
497        }
498    }
499    #[doc = "`GetName(bool)` overload"]
500    fn get_name(self, copied_name: impl ::core::convert::Into<bool>) -> crate::system::reflection::assemblyname::AssemblyName {
501        unsafe {
502            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
503            {
504                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
505                let __vi = *__vt.get(18usize).unwrap_or_else(|| {
506                    panic!(
507                        "unity: virtual slot {}
508 out of range (vtable len {}
509) on the runtime class behind {}
510 (method `{}
511`)",
512                        18usize,
513                        __vt.len(),
514                        <Assembly as ::unity::ClassIdentity>::NAME,
515                        "GetName",
516                    )
517                });
518                let __inner: extern "C" fn(Assembly, bool, ::unity::OptionalMethod) -> crate::system::reflection::assemblyname::AssemblyName =
519                    ::core::mem::transmute(__vi.method_ptr);
520                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
521                __inner(__receiver, ::core::convert::Into::into(copied_name), __mi)
522            }
523        }
524    }
525    #[doc = "`GetName()` overload"]
526    fn get_name_2(self) -> crate::system::reflection::assemblyname::AssemblyName {
527        unsafe {
528            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
529            {
530                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
531                let __vi = *__vt.get(19usize).unwrap_or_else(|| {
532                    panic!(
533                        "unity: virtual slot {}
534 out of range (vtable len {}
535) on the runtime class behind {}
536 (method `{}
537`)",
538                        19usize,
539                        __vt.len(),
540                        <Assembly as ::unity::ClassIdentity>::NAME,
541                        "GetName",
542                    )
543                });
544                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> crate::system::reflection::assemblyname::AssemblyName =
545                    ::core::mem::transmute(__vi.method_ptr);
546                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
547                __inner(__receiver, __mi)
548            }
549        }
550    }
551    #[doc = "`ToString()` overload"]
552    fn to_string(self) -> ::unity::Il2CppString {
553        unsafe {
554            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
555            {
556                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
557                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
558                    panic!(
559                        "unity: virtual slot {}
560 out of range (vtable len {}
561) on the runtime class behind {}
562 (method `{}
563`)",
564                        3usize,
565                        __vt.len(),
566                        <Assembly as ::unity::ClassIdentity>::NAME,
567                        "ToString",
568                    )
569                });
570                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
571                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
572                __inner(__receiver, __mi)
573            }
574        }
575    }
576    #[doc = "`GetModulesInternal()` overload"]
577    fn get_modules_internal(self) -> ::unity::Array<crate::system::reflection::module::Module> {
578        unsafe {
579            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
580            {
581                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
582                let __vi = *__vt.get(20usize).unwrap_or_else(|| {
583                    panic!(
584                        "unity: virtual slot {}
585 out of range (vtable len {}
586) on the runtime class behind {}
587 (method `{}
588`)",
589                        20usize,
590                        __vt.len(),
591                        <Assembly as ::unity::ClassIdentity>::NAME,
592                        "GetModulesInternal",
593                    )
594                });
595                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Array<crate::system::reflection::module::Module> =
596                    ::core::mem::transmute(__vi.method_ptr);
597                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
598                __inner(__receiver, __mi)
599            }
600        }
601    }
602    #[doc = "`GetManifestResourceNames()` overload"]
603    fn get_manifest_resource_names(self) -> ::unity::Array<::unity::Il2CppString> {
604        unsafe {
605            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
606            {
607                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
608                let __vi = *__vt.get(21usize).unwrap_or_else(|| {
609                    panic!(
610                        "unity: virtual slot {}
611 out of range (vtable len {}
612) on the runtime class behind {}
613 (method `{}
614`)",
615                        21usize,
616                        __vt.len(),
617                        <Assembly as ::unity::ClassIdentity>::NAME,
618                        "GetManifestResourceNames",
619                    )
620                });
621                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> ::unity::Array<::unity::Il2CppString> =
622                    ::core::mem::transmute(__vi.method_ptr);
623                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
624                __inner(__receiver, __mi)
625            }
626        }
627    }
628    #[doc = "`GetManifestResourceInfoInternal(::unity::Il2CppString, crate::system::reflection::manifestresourceinfo::ManifestResourceInfo)` overload"]
629    fn get_manifest_resource_info_internal(
630        self,
631        name: impl ::core::convert::Into<::unity::Il2CppString>,
632        info: impl ::core::convert::Into<crate::system::reflection::manifestresourceinfo::ManifestResourceInfo>,
633    ) -> bool {
634        unsafe {
635            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
636            ::unity::il2cpp_call!((::unity::module_base()+0x3401770usize)as*mut u8,bool;
637(Assembly)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(crate::system::reflection::manifestresourceinfo::ManifestResourceInfo)::core::convert::Into::into(info))
638        }
639    }
640    #[doc = "`GetManifestResourceInfo(::unity::Il2CppString)` overload"]
641    fn get_manifest_resource_info(
642        self,
643        resource_name: impl ::core::convert::Into<::unity::Il2CppString>,
644    ) -> crate::system::reflection::manifestresourceinfo::ManifestResourceInfo {
645        unsafe {
646            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
647            {
648                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
649                let __vi = *__vt.get(22usize).unwrap_or_else(|| {
650                    panic!(
651                        "unity: virtual slot {}
652 out of range (vtable len {}
653) on the runtime class behind {}
654 (method `{}
655`)",
656                        22usize,
657                        __vt.len(),
658                        <Assembly as ::unity::ClassIdentity>::NAME,
659                        "GetManifestResourceInfo",
660                    )
661                });
662                let __inner: extern "C" fn(
663                    Assembly,
664                    ::unity::Il2CppString,
665                    ::unity::OptionalMethod,
666                ) -> crate::system::reflection::manifestresourceinfo::ManifestResourceInfo = ::core::mem::transmute(__vi.method_ptr);
667                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
668                __inner(__receiver, ::core::convert::Into::into(resource_name), __mi)
669            }
670        }
671    }
672    #[doc = "`GetHashCode()` overload"]
673    fn get_hash_code(self) -> i32 {
674        unsafe {
675            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
676            {
677                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
678                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
679                    panic!(
680                        "unity: virtual slot {}
681 out of range (vtable len {}
682) on the runtime class behind {}
683 (method `{}
684`)",
685                        2usize,
686                        __vt.len(),
687                        <Assembly as ::unity::ClassIdentity>::NAME,
688                        "GetHashCode",
689                    )
690                });
691                let __inner: extern "C" fn(Assembly, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
692                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
693                __inner(__receiver, __mi)
694            }
695        }
696    }
697    #[doc = "`Equals(crate::system::object::Object)` overload"]
698    fn equals(self, o: impl ::core::convert::Into<crate::system::object::Object>) -> bool {
699        unsafe {
700            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
701            {
702                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
703                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
704                    panic!(
705                        "unity: virtual slot {}
706 out of range (vtable len {}
707) on the runtime class behind {}
708 (method `{}
709`)",
710                        0usize,
711                        __vt.len(),
712                        <Assembly as ::unity::ClassIdentity>::NAME,
713                        "Equals",
714                    )
715                });
716                let __inner: extern "C" fn(Assembly, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
717                    ::core::mem::transmute(__vi.method_ptr);
718                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
719                __inner(__receiver, ::core::convert::Into::into(o), __mi)
720            }
721        }
722    }
723    #[doc = "`get_IsFullyTrusted()` overload"]
724    fn get_is_fully_trusted(self) -> bool {
725        unsafe {
726            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
727            ::unity::il2cpp_call!((::unity::module_base()+0x34019f0usize)as*mut u8,bool;
728(Assembly)__receiver)
729        }
730    }
731    #[doc = "`GetType(::unity::Il2CppString, bool, bool)` overload"]
732    fn get_type_3(
733        self,
734        name: impl ::core::convert::Into<::unity::Il2CppString>,
735        throw_on_error: impl ::core::convert::Into<bool>,
736        ignore_case: impl ::core::convert::Into<bool>,
737    ) -> ::unity::SystemType {
738        unsafe {
739            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
740            {
741                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
742                let __vi = *__vt.get(23usize).unwrap_or_else(|| {
743                    panic!(
744                        "unity: virtual slot {}
745 out of range (vtable len {}
746) on the runtime class behind {}
747 (method `{}
748`)",
749                        23usize,
750                        __vt.len(),
751                        <Assembly as ::unity::ClassIdentity>::NAME,
752                        "GetType",
753                    )
754                });
755                let __inner: extern "C" fn(Assembly, ::unity::Il2CppString, bool, bool, ::unity::OptionalMethod) -> ::unity::SystemType =
756                    ::core::mem::transmute(__vi.method_ptr);
757                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
758                __inner(
759                    __receiver,
760                    ::core::convert::Into::into(name),
761                    ::core::convert::Into::into(throw_on_error),
762                    ::core::convert::Into::into(ignore_case),
763                    __mi,
764                )
765            }
766        }
767    }
768    #[doc = "`GetModule(::unity::Il2CppString)` overload"]
769    fn get_module(self, name: impl ::core::convert::Into<::unity::Il2CppString>) -> crate::system::reflection::module::Module {
770        unsafe {
771            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
772            {
773                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
774                let __vi = *__vt.get(24usize).unwrap_or_else(|| {
775                    panic!(
776                        "unity: virtual slot {}
777 out of range (vtable len {}
778) on the runtime class behind {}
779 (method `{}
780`)",
781                        24usize,
782                        __vt.len(),
783                        <Assembly as ::unity::ClassIdentity>::NAME,
784                        "GetModule",
785                    )
786                });
787                let __inner: extern "C" fn(Assembly, ::unity::Il2CppString, ::unity::OptionalMethod) -> crate::system::reflection::module::Module =
788                    ::core::mem::transmute(__vi.method_ptr);
789                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
790                __inner(__receiver, ::core::convert::Into::into(name), __mi)
791            }
792        }
793    }
794    #[doc = "`GetModules(bool)` overload"]
795    fn get_modules(self, get_resource_modules: impl ::core::convert::Into<bool>) -> ::unity::Array<crate::system::reflection::module::Module> {
796        unsafe {
797            let __receiver = <Assembly as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
798            {
799                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
800                let __vi = *__vt.get(25usize).unwrap_or_else(|| {
801                    panic!(
802                        "unity: virtual slot {}
803 out of range (vtable len {}
804) on the runtime class behind {}
805 (method `{}
806`)",
807                        25usize,
808                        __vt.len(),
809                        <Assembly as ::unity::ClassIdentity>::NAME,
810                        "GetModules",
811                    )
812                });
813                let __inner: extern "C" fn(Assembly, bool, ::unity::OptionalMethod) -> ::unity::Array<crate::system::reflection::module::Module> =
814                    ::core::mem::transmute(__vi.method_ptr);
815                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
816                __inner(__receiver, ::core::convert::Into::into(get_resource_modules), __mi)
817            }
818        }
819    }
820}
821
822#[cfg(feature = "system-reflection-assembly")]
823impl<__T: IAssembly> IAssemblyMethods for __T {}
824
825#[cfg(feature = "system-reflection-assembly")]
826impl Assembly {
827    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
828        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
829    }
830
831    pub fn get_code_base_method_info() -> &'static ::unity::il2cpp::MethodInfo {
832        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
833    }
834
835    pub fn get_fullname_method_info() -> &'static ::unity::il2cpp::MethodInfo {
836        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
837    }
838
839    pub fn get_location_method_info() -> &'static ::unity::il2cpp::MethodInfo {
840        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
841    }
842
843    pub fn get_aot_id_method_info() -> &'static ::unity::il2cpp::MethodInfo {
844        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
845    }
846
847    pub fn get_code_base_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
848        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
849    }
850
851    pub fn get_full_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
852        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
853    }
854
855    pub fn is_defined_method_info() -> &'static ::unity::il2cpp::MethodInfo {
856        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
857    }
858
859    pub fn get_custom_attributes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
860        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
861    }
862
863    pub fn get_manifest_resource_internal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
864        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
865    }
866
867    pub fn get_manifest_resource_stream_method_info() -> &'static ::unity::il2cpp::MethodInfo {
868        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
869    }
870
871    pub fn get_types_method_info() -> &'static ::unity::il2cpp::MethodInfo {
872        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
873    }
874
875    pub fn get_types_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
876        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
877    }
878
879    pub fn get_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
880        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
881    }
882
883    pub fn get_type_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
884        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
885    }
886
887    pub fn internal_get_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
888        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
889    }
890
891    pub fn get_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
892        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
893    }
894
895    pub fn get_name_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
896        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
897    }
898
899    pub fn to_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
900        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
901    }
902
903    pub fn get_assembly_method_info() -> &'static ::unity::il2cpp::MethodInfo {
904        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
905    }
906
907    pub fn load_method_info() -> &'static ::unity::il2cpp::MethodInfo {
908        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
909    }
910
911    pub fn get_modules_internal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
912        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[27]
913    }
914
915    pub fn get_manifest_resource_names_method_info() -> &'static ::unity::il2cpp::MethodInfo {
916        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[28]
917    }
918
919    pub fn get_executing_assembly_method_info() -> &'static ::unity::il2cpp::MethodInfo {
920        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[29]
921    }
922
923    pub fn get_calling_assembly_method_info() -> &'static ::unity::il2cpp::MethodInfo {
924        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[30]
925    }
926
927    pub fn get_manifest_resource_info_internal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
928        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[31]
929    }
930
931    pub fn get_manifest_resource_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
932        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[32]
933    }
934
935    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
936        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[33]
937    }
938
939    pub fn equals_method_info() -> &'static ::unity::il2cpp::MethodInfo {
940        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[34]
941    }
942
943    pub fn get_is_fully_trusted_method_info() -> &'static ::unity::il2cpp::MethodInfo {
944        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[36]
945    }
946
947    pub fn get_type_3_method_info() -> &'static ::unity::il2cpp::MethodInfo {
948        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[37]
949    }
950
951    pub fn get_module_method_info() -> &'static ::unity::il2cpp::MethodInfo {
952        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[38]
953    }
954
955    pub fn get_modules_method_info() -> &'static ::unity::il2cpp::MethodInfo {
956        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[39]
957    }
958
959    pub fn op_equality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
960        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[40]
961    }
962
963    pub fn op_inequality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
964        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[41]
965    }
966}
967
968#[cfg(feature = "system-reflection-assembly")]
969impl Assembly {
970    #[doc = "Direct (non-virtual) call to `Assembly`'s own `get_CodeBase`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
971    pub unsafe fn get_code_base_2(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
972        let __mi = Self::get_code_base_2_method_info();
973        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
974        __inner(this.into(), ::core::option::Option::None)
975    }
976
977    #[doc = "Direct (non-virtual) call to `Assembly`'s own `get_FullName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
978    pub unsafe fn get_full_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
979        let __mi = Self::get_full_name_method_info();
980        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
981        __inner(this.into(), ::core::option::Option::None)
982    }
983
984    #[doc = "Direct (non-virtual) call to `Assembly`'s own `IsDefined`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
985    pub unsafe fn is_defined(this: impl ::core::convert::Into<::unity::IlInstance>, attribute_type: ::unity::SystemType, inherit: bool) -> bool {
986        let __mi = Self::is_defined_method_info();
987        let __inner: extern "C" fn(::unity::IlInstance, ::unity::SystemType, bool, ::unity::OptionalMethod) -> bool =
988            ::core::mem::transmute(__mi.method_ptr);
989        __inner(this.into(), attribute_type, inherit, ::core::option::Option::None)
990    }
991
992    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetCustomAttributes`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
993    pub unsafe fn get_custom_attributes(
994        this: impl ::core::convert::Into<::unity::IlInstance>,
995        attribute_type: ::unity::SystemType,
996        inherit: bool,
997    ) -> ::unity::Array<crate::system::object::Object> {
998        let __mi = Self::get_custom_attributes_method_info();
999        let __inner: extern "C" fn(
1000            ::unity::IlInstance,
1001            ::unity::SystemType,
1002            bool,
1003            ::unity::OptionalMethod,
1004        ) -> ::unity::Array<crate::system::object::Object> = ::core::mem::transmute(__mi.method_ptr);
1005        __inner(this.into(), attribute_type, inherit, ::core::option::Option::None)
1006    }
1007
1008    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetManifestResourceStream`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1009    pub unsafe fn get_manifest_resource_stream(
1010        this: impl ::core::convert::Into<::unity::IlInstance>,
1011        name: ::unity::Il2CppString,
1012    ) -> crate::system::io::stream::Stream {
1013        let __mi = Self::get_manifest_resource_stream_method_info();
1014        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, ::unity::OptionalMethod) -> crate::system::io::stream::Stream =
1015            ::core::mem::transmute(__mi.method_ptr);
1016        __inner(this.into(), name, ::core::option::Option::None)
1017    }
1018
1019    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetTypes`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1020    pub unsafe fn get_types(this: impl ::core::convert::Into<::unity::IlInstance>, exported_only: bool) -> ::unity::Array<::unity::SystemType> {
1021        let __mi = Self::get_types_method_info();
1022        let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> ::unity::Array<::unity::SystemType> =
1023            ::core::mem::transmute(__mi.method_ptr);
1024        __inner(this.into(), exported_only, ::core::option::Option::None)
1025    }
1026
1027    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetTypes`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1028    pub unsafe fn get_types_2(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Array<::unity::SystemType> {
1029        let __mi = Self::get_types_2_method_info();
1030        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Array<::unity::SystemType> =
1031            ::core::mem::transmute(__mi.method_ptr);
1032        __inner(this.into(), ::core::option::Option::None)
1033    }
1034
1035    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1036    pub unsafe fn get_type(
1037        this: impl ::core::convert::Into<::unity::IlInstance>,
1038        name: ::unity::Il2CppString,
1039        throw_on_error: bool,
1040    ) -> ::unity::SystemType {
1041        let __mi = Self::get_type_method_info();
1042        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, bool, ::unity::OptionalMethod) -> ::unity::SystemType =
1043            ::core::mem::transmute(__mi.method_ptr);
1044        __inner(this.into(), name, throw_on_error, ::core::option::Option::None)
1045    }
1046
1047    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1048    pub unsafe fn get_type_2(this: impl ::core::convert::Into<::unity::IlInstance>, name: ::unity::Il2CppString) -> ::unity::SystemType {
1049        let __mi = Self::get_type_2_method_info();
1050        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, ::unity::OptionalMethod) -> ::unity::SystemType =
1051            ::core::mem::transmute(__mi.method_ptr);
1052        __inner(this.into(), name, ::core::option::Option::None)
1053    }
1054
1055    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1056    pub unsafe fn get_name(
1057        this: impl ::core::convert::Into<::unity::IlInstance>,
1058        copied_name: bool,
1059    ) -> crate::system::reflection::assemblyname::AssemblyName {
1060        let __mi = Self::get_name_method_info();
1061        let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> crate::system::reflection::assemblyname::AssemblyName =
1062            ::core::mem::transmute(__mi.method_ptr);
1063        __inner(this.into(), copied_name, ::core::option::Option::None)
1064    }
1065
1066    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1067    pub unsafe fn get_name_2(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::system::reflection::assemblyname::AssemblyName {
1068        let __mi = Self::get_name_2_method_info();
1069        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::system::reflection::assemblyname::AssemblyName =
1070            ::core::mem::transmute(__mi.method_ptr);
1071        __inner(this.into(), ::core::option::Option::None)
1072    }
1073
1074    #[doc = "Direct (non-virtual) call to `Assembly`'s own `ToString`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1075    pub unsafe fn to_string(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
1076        let __mi = Self::to_string_method_info();
1077        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
1078        __inner(this.into(), ::core::option::Option::None)
1079    }
1080
1081    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetModulesInternal`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1082    pub unsafe fn get_modules_internal(
1083        this: impl ::core::convert::Into<::unity::IlInstance>,
1084    ) -> ::unity::Array<crate::system::reflection::module::Module> {
1085        let __mi = Self::get_modules_internal_method_info();
1086        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Array<crate::system::reflection::module::Module> =
1087            ::core::mem::transmute(__mi.method_ptr);
1088        __inner(this.into(), ::core::option::Option::None)
1089    }
1090
1091    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetManifestResourceNames`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1092    pub unsafe fn get_manifest_resource_names(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Array<::unity::Il2CppString> {
1093        let __mi = Self::get_manifest_resource_names_method_info();
1094        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Array<::unity::Il2CppString> =
1095            ::core::mem::transmute(__mi.method_ptr);
1096        __inner(this.into(), ::core::option::Option::None)
1097    }
1098
1099    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetManifestResourceInfo`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1100    pub unsafe fn get_manifest_resource_info(
1101        this: impl ::core::convert::Into<::unity::IlInstance>,
1102        resource_name: ::unity::Il2CppString,
1103    ) -> crate::system::reflection::manifestresourceinfo::ManifestResourceInfo {
1104        let __mi = Self::get_manifest_resource_info_method_info();
1105        let __inner: extern "C" fn(
1106            ::unity::IlInstance,
1107            ::unity::Il2CppString,
1108            ::unity::OptionalMethod,
1109        ) -> crate::system::reflection::manifestresourceinfo::ManifestResourceInfo = ::core::mem::transmute(__mi.method_ptr);
1110        __inner(this.into(), resource_name, ::core::option::Option::None)
1111    }
1112
1113    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetHashCode`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1114    pub unsafe fn get_hash_code(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
1115        let __mi = Self::get_hash_code_method_info();
1116        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
1117        __inner(this.into(), ::core::option::Option::None)
1118    }
1119
1120    #[doc = "Direct (non-virtual) call to `Assembly`'s own `Equals`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1121    pub unsafe fn equals(this: impl ::core::convert::Into<::unity::IlInstance>, o: crate::system::object::Object) -> bool {
1122        let __mi = Self::equals_method_info();
1123        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
1124            ::core::mem::transmute(__mi.method_ptr);
1125        __inner(this.into(), o, ::core::option::Option::None)
1126    }
1127
1128    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1129    pub unsafe fn get_type_3(
1130        this: impl ::core::convert::Into<::unity::IlInstance>,
1131        name: ::unity::Il2CppString,
1132        throw_on_error: bool,
1133        ignore_case: bool,
1134    ) -> ::unity::SystemType {
1135        let __mi = Self::get_type_3_method_info();
1136        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, bool, bool, ::unity::OptionalMethod) -> ::unity::SystemType =
1137            ::core::mem::transmute(__mi.method_ptr);
1138        __inner(this.into(), name, throw_on_error, ignore_case, ::core::option::Option::None)
1139    }
1140
1141    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetModule`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1142    pub unsafe fn get_module(
1143        this: impl ::core::convert::Into<::unity::IlInstance>,
1144        name: ::unity::Il2CppString,
1145    ) -> crate::system::reflection::module::Module {
1146        let __mi = Self::get_module_method_info();
1147        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, ::unity::OptionalMethod) -> crate::system::reflection::module::Module =
1148            ::core::mem::transmute(__mi.method_ptr);
1149        __inner(this.into(), name, ::core::option::Option::None)
1150    }
1151
1152    #[doc = "Direct (non-virtual) call to `Assembly`'s own `GetModules`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1153    pub unsafe fn get_modules(
1154        this: impl ::core::convert::Into<::unity::IlInstance>,
1155        get_resource_modules: bool,
1156    ) -> ::unity::Array<crate::system::reflection::module::Module> {
1157        let __mi = Self::get_modules_method_info();
1158        let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> ::unity::Array<crate::system::reflection::module::Module> =
1159            ::core::mem::transmute(__mi.method_ptr);
1160        __inner(this.into(), get_resource_modules, ::core::option::Option::None)
1161    }
1162}
1163
1164#[cfg(feature = "system-reflection-assembly")]
1165impl Assembly {
1166    #[doc = "`.ctor()` — no args"]
1167    pub fn new() -> Self {
1168        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1169            panic!(
1170                "{}
1171::{}
1172 failed to instantiate",
1173                ::core::stringify!(Assembly),
1174                ::core::stringify!(new),
1175            )
1176        });
1177        <Self as IAssemblyMethods>::ctor(this);
1178        this
1179    }
1180}
1181
1182#[cfg(feature = "system-reflection-assembly")]
1183pub trait IAssembly_UnmanagedMemoryStreamForModuleMethods: IAssembly_UnmanagedMemoryStreamForModule {
1184    #[doc = "`Dispose(bool)` overload"]
1185    fn dispose(self, disposing: impl ::core::convert::Into<bool>) -> () {
1186        unsafe {
1187            let __receiver = <Assembly_UnmanagedMemoryStreamForModule as ::unity::FromIlInstance>::from_il_instance(
1188                <Self as ::unity::SystemObject>::as_instance(self),
1189            );
1190            {
1191                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1192                let __vi = *__vt.get(19usize).unwrap_or_else(|| {
1193                    panic!(
1194                        "unity: virtual slot {}
1195 out of range (vtable len {}
1196) on the runtime class behind {}
1197 (method `{}
1198`)",
1199                        19usize,
1200                        __vt.len(),
1201                        <Assembly_UnmanagedMemoryStreamForModule as ::unity::ClassIdentity>::NAME,
1202                        "Dispose",
1203                    )
1204                });
1205                let __inner: extern "C" fn(Assembly_UnmanagedMemoryStreamForModule, bool, ::unity::OptionalMethod) -> () =
1206                    ::core::mem::transmute(__vi.method_ptr);
1207                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1208                __inner(__receiver, ::core::convert::Into::into(disposing), __mi)
1209            }
1210        }
1211    }
1212}
1213
1214#[cfg(feature = "system-reflection-assembly")]
1215impl<__T: IAssembly_UnmanagedMemoryStreamForModule> IAssembly_UnmanagedMemoryStreamForModuleMethods for __T {}
1216
1217#[cfg(feature = "system-reflection-assembly")]
1218impl Assembly_UnmanagedMemoryStreamForModule {
1219    pub fn dispose_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1220        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1221    }
1222}
1223
1224#[cfg(feature = "system-reflection-assembly")]
1225impl Assembly_UnmanagedMemoryStreamForModule {
1226    #[doc = "Direct (non-virtual) call to `Assembly_UnmanagedMemoryStreamForModule`'s own `Dispose`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1227    pub unsafe fn dispose(this: impl ::core::convert::Into<::unity::IlInstance>, disposing: bool) -> () {
1228        let __mi = Self::dispose_method_info();
1229        let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1230        __inner(this.into(), disposing, ::core::option::Option::None)
1231    }
1232}
1233
1234#[cfg(feature = "system-reflection-assembly")]
1235#[doc(hidden)]
1236pub mod prelude {
1237    pub use super::{
1238        Assembly, Assembly_ResolveEventHolder, Assembly_UnmanagedMemoryStreamForModule, IAssembly, IAssemblyMethods, IAssembly_ResolveEventHolder,
1239        IAssembly_ResolveEventHolderMethods, IAssembly_UnmanagedMemoryStreamForModule, IAssembly_UnmanagedMemoryStreamForModuleMethods,
1240    };
1241    #[cfg(feature = "system-io-stream")]
1242    pub use crate::system::io::stream::IStreamMethods;
1243    #[cfg(feature = "system-io-unmanagedmemorystream")]
1244    pub use crate::system::io::unmanagedmemorystream::IUnmanagedMemoryStreamMethods;
1245    #[cfg(feature = "system-object")]
1246    pub use crate::system::object::IObjectMethods;
1247    pub use crate::system::{
1248        io::{stream::IStream, unmanagedmemorystream::IUnmanagedMemoryStream},
1249        object::IObject,
1250    };
1251}