Skip to main content

engage/generated/moon_sharp/interpreter/interop/
overloadedmethodmemberdescriptor.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor-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/interop/overloadedmethodmemberdescriptor/OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer.md"))]
11    #[::unity::class(
12        namespace = "MoonSharp.Interpreter.Interop",
13        name = "OverloadedMethodMemberDescriptor.OverloadableMemberDescriptorComparer"
14    )]
15    #[parent(crate::system::object::Object)]
16    pub struct OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer {}
17
18    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/overloadedmethodmemberdescriptor/OverloadedMethodMemberDescriptor_OverloadCacheItem.md"))]
19    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "OverloadedMethodMemberDescriptor.OverloadCacheItem")]
20    #[parent(crate::system::object::Object)]
21    pub struct OverloadedMethodMemberDescriptor_OverloadCacheItem {
22        #[offset(16)]
23        #[rename(name = "HasObject")]
24        pub has_object: bool,
25        #[offset(24)]
26        #[rename(name = "Method")]
27        pub method: crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
28        #[offset(32)]
29        #[rename(name = "ArgsDataType")]
30        pub args_data_type: crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::datatype::DataType>,
31        #[offset(40)]
32        #[rename(name = "ArgsUserDataType")]
33        pub args_user_data_type: crate::system::collections::generic::list_1::List_1<::unity::SystemType>,
34        #[offset(48)]
35        #[rename(name = "HitIndexAtLastHit")]
36        pub hit_index_at_last_hit: i32,
37    }
38
39    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/overloadedmethodmemberdescriptor/OverloadedMethodMemberDescriptor.md"))]
40    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "OverloadedMethodMemberDescriptor")]
41    #[parent(crate::system::object::Object)]
42    pub struct OverloadedMethodMemberDescriptor {
43        #[static_field]
44        #[rename(name = "CACHE_SIZE")]
45        pub cache_size: i32,
46        #[offset(16)]
47        #[rename(name = "m_Overloads")]
48        pub m_overloads: crate::system::collections::generic::list_1::List_1<
49            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
50        >,
51        #[offset(24)]
52        #[rename(name = "m_ExtOverloads")]
53        pub m_ext_overloads: crate::system::collections::generic::list_1::List_1<
54            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
55        >,
56        #[offset(32)]
57        #[rename(name = "m_Unsorted")]
58        pub m_unsorted: bool,
59        #[offset(40)]
60        #[rename(name = "m_Cache")]
61        pub m_cache: ::unity::Array<
62            crate::moon_sharp::interpreter::interop::overloadedmethodmemberdescriptor::OverloadedMethodMemberDescriptor_OverloadCacheItem,
63        >,
64        #[offset(48)]
65        #[rename(name = "m_CacheHits")]
66        pub m_cache_hits: i32,
67        #[offset(52)]
68        #[rename(name = "m_ExtensionMethodVersion")]
69        pub m_extension_method_version: i32,
70    }
71}
72
73#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor-types")]
74pub use __types::*;
75
76#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
77#[doc(hidden)]
78#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
79mod __OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer_unity_raw {
80    use super::*;
81    #[doc(hidden)]
82    #[allow(non_snake_case)]
83    pub mod __lookup_ctor {
84        use super::*;
85        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
86            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
87            ::unity::lookup::method_info_on_class_with_signature(
88                <OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer as ::unity::ClassIdentity>::class(),
89                ".ctor",
90                0,
91                param_types,
92                false,
93            )
94        });
95        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
96            match &*METHOD {
97                ::core::result::Result::Ok(mi) => *mi,
98                ::core::result::Result::Err(e) => {
99                    panic!(
100                        "method lookup failed: {}
101::{}
102: {}
103",
104                        <OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer as ::unity::ClassIdentity>::NAME,
105                        ".ctor",
106                        e
107                    )
108                },
109            }
110        }
111    }
112}
113
114#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
115pub trait IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparerMethods:
116    IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer
117{
118    #[doc = "`Compare(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor, crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)` overload"]
119    fn compare(
120        self,
121        x: impl ::core::convert::Into<
122            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
123        >,
124        y: impl ::core::convert::Into<
125            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
126        >,
127    ) -> i32 {
128        unsafe {
129            let __receiver = <OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer as ::unity::FromIlInstance>::from_il_instance(
130                <Self as ::unity::SystemObject>::as_instance(self),
131            );
132            {
133                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
134                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
135                    panic!(
136                        "unity: virtual slot {}
137 out of range (vtable len {}
138) on the runtime class behind {}
139 (method `{}
140`)",
141                        4usize,
142                        __vt.len(),
143                        <OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer as ::unity::ClassIdentity>::NAME,
144                        "Compare",
145                    )
146                });
147                let __inner: extern "C" fn(
148                    OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer,
149                    crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
150                    crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
151                    ::unity::OptionalMethod,
152                ) -> i32 = ::core::mem::transmute(__vi.method_ptr);
153                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
154                __inner(__receiver, ::core::convert::Into::into(x), ::core::convert::Into::into(y), __mi)
155            }
156        }
157    }
158    #[doc = "`.ctor()` overload"]
159    fn ctor(self) -> () {
160        unsafe {
161            let __receiver = <OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer as ::unity::FromIlInstance>::from_il_instance(
162                <Self as ::unity::SystemObject>::as_instance(self),
163            );
164            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
165(OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer)__receiver)
166        }
167    }
168}
169
170#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
171impl<__T: IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer>
172    IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparerMethods for __T
173{
174}
175
176#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
177impl OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer {
178    pub fn compare_method_info() -> &'static ::unity::il2cpp::MethodInfo {
179        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
180    }
181
182    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
183        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
184    }
185}
186
187#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
188impl OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer {
189    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer`'s own `Compare`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
190    pub unsafe fn compare(
191        this: impl ::core::convert::Into<::unity::IlInstance>,
192        x: crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
193        y: crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
194    ) -> i32 {
195        let __mi = Self::compare_method_info();
196        let __inner: extern "C" fn(
197            ::unity::IlInstance,
198            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
199            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
200            ::unity::OptionalMethod,
201        ) -> i32 = ::core::mem::transmute(__mi.method_ptr);
202        __inner(this.into(), x, y, ::core::option::Option::None)
203    }
204}
205
206#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
207impl OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer {
208    #[doc = "`.ctor()` — no args"]
209    pub fn new() -> Self {
210        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
211            panic!(
212                "{}
213::{}
214 failed to instantiate",
215                ::core::stringify!(OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer),
216                ::core::stringify!(new),
217            )
218        });
219        <Self as IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparerMethods>::ctor(this);
220        this
221    }
222}
223
224#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
225#[doc(hidden)]
226#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
227mod __OverloadedMethodMemberDescriptor_OverloadCacheItem_unity_raw {
228    use super::*;
229    #[doc(hidden)]
230    #[allow(non_snake_case)]
231    pub mod __lookup_ctor {
232        use super::*;
233        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
234            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
235            ::unity::lookup::method_info_on_class_with_signature(
236                <OverloadedMethodMemberDescriptor_OverloadCacheItem as ::unity::ClassIdentity>::class(),
237                ".ctor",
238                0,
239                param_types,
240                false,
241            )
242        });
243        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
244            match &*METHOD {
245                ::core::result::Result::Ok(mi) => *mi,
246                ::core::result::Result::Err(e) => {
247                    panic!(
248                        "method lookup failed: {}
249::{}
250: {}
251",
252                        <OverloadedMethodMemberDescriptor_OverloadCacheItem as ::unity::ClassIdentity>::NAME,
253                        ".ctor",
254                        e
255                    )
256                },
257            }
258        }
259    }
260}
261
262#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
263pub trait IOverloadedMethodMemberDescriptor_OverloadCacheItemMethods: IOverloadedMethodMemberDescriptor_OverloadCacheItem {
264    #[doc = "`.ctor()` overload"]
265    fn ctor(self) -> () {
266        unsafe {
267            let __receiver = <OverloadedMethodMemberDescriptor_OverloadCacheItem as ::unity::FromIlInstance>::from_il_instance(
268                <Self as ::unity::SystemObject>::as_instance(self),
269            );
270            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_OverloadCacheItem_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
271(OverloadedMethodMemberDescriptor_OverloadCacheItem)__receiver)
272        }
273    }
274}
275
276#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
277impl<__T: IOverloadedMethodMemberDescriptor_OverloadCacheItem> IOverloadedMethodMemberDescriptor_OverloadCacheItemMethods for __T {}
278
279#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
280impl OverloadedMethodMemberDescriptor_OverloadCacheItem {
281    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
282        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
283    }
284}
285
286#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
287impl OverloadedMethodMemberDescriptor_OverloadCacheItem {
288    #[doc = "`.ctor()` — no args"]
289    pub fn new() -> Self {
290        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
291            panic!(
292                "{}
293::{}
294 failed to instantiate",
295                ::core::stringify!(OverloadedMethodMemberDescriptor_OverloadCacheItem),
296                ::core::stringify!(new),
297            )
298        });
299        <Self as IOverloadedMethodMemberDescriptor_OverloadCacheItemMethods>::ctor(this);
300        this
301    }
302}
303
304#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
305#[doc(hidden)]
306#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
307mod __OverloadedMethodMemberDescriptor_unity_raw {
308    use super::*;
309    #[doc(hidden)]
310    #[allow(non_snake_case)]
311    pub mod __lookup_get_ignore_extension_methods {
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::lookup::method_info_on_class_with_signature(
316                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
317                "get_IgnoreExtensionMethods",
318                0,
319                param_types,
320                false,
321            )
322        });
323        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
324            match &*METHOD {
325                ::core::result::Result::Ok(mi) => *mi,
326                ::core::result::Result::Err(e) => {
327                    panic!(
328                        "method lookup failed: {}
329::{}
330: {}
331",
332                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
333                        "get_IgnoreExtensionMethods",
334                        e
335                    )
336                },
337            }
338        }
339    }
340    #[doc(hidden)]
341    #[allow(non_snake_case)]
342    pub mod __lookup_set_ignore_extension_methods {
343        use super::*;
344        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
345            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<bool as ::unity::IlType>::il_type()];
346            ::unity::lookup::method_info_on_class_with_signature(
347                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
348                "set_IgnoreExtensionMethods",
349                1,
350                param_types,
351                false,
352            )
353        });
354        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
355            match &*METHOD {
356                ::core::result::Result::Ok(mi) => *mi,
357                ::core::result::Result::Err(e) => {
358                    panic!(
359                        "method lookup failed: {}
360::{}
361: {}
362",
363                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
364                        "set_IgnoreExtensionMethods",
365                        e
366                    )
367                },
368            }
369        }
370    }
371    #[doc(hidden)]
372    #[allow(non_snake_case)]
373    pub mod __lookup_ctor {
374        use super::*;
375        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
376            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
377                <::unity::Il2CppString as ::unity::IlType>::il_type(),
378                <::unity::SystemType as ::unity::IlType>::il_type(),
379            ];
380            ::unity::lookup::method_info_on_class_with_signature(
381                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
382                ".ctor",
383                2,
384                param_types,
385                false,
386            )
387        });
388        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
389            match &*METHOD {
390                ::core::result::Result::Ok(mi) => *mi,
391                ::core::result::Result::Err(e) => {
392                    panic!(
393                        "method lookup failed: {}
394::{}
395: {}
396",
397                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
398                        ".ctor",
399                        e
400                    )
401                },
402            }
403        }
404    }
405    #[doc(hidden)]
406    #[allow(non_snake_case)]
407    pub mod __lookup_ctor_2 {
408        use super::*;
409        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
410            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[< ::unity::Il2CppString as::unity::IlType> ::il_type(), < ::unity::SystemType as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor as::unity::IlType> ::il_type()];
411            ::unity::lookup::method_info_on_class_with_signature(
412                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
413                ".ctor",
414                3,
415                param_types,
416                false,
417            )
418        });
419        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
420            match &*METHOD {
421                ::core::result::Result::Ok(mi) => *mi,
422                ::core::result::Result::Err(e) => {
423                    panic!(
424                        "method lookup failed: {}
425::{}
426: {}
427",
428                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
429                        ".ctor",
430                        e
431                    )
432                },
433            }
434        }
435    }
436    #[doc(hidden)]
437    #[allow(non_snake_case)]
438    pub mod __lookup_ctor_3 {
439        use super::*;
440        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
441            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
442                <::unity::Il2CppString as ::unity::IlType>::il_type(),
443                <::unity::SystemType as ::unity::IlType>::il_type(),
444                <crate::system::collections::generic::ienumerable_1::IEnumerable_1<
445                    crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
446                > as ::unity::IlType>::il_type(),
447            ];
448            ::unity::lookup::method_info_on_class_with_signature(
449                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
450                ".ctor",
451                3,
452                param_types,
453                false,
454            )
455        });
456        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
457            match &*METHOD {
458                ::core::result::Result::Ok(mi) => *mi,
459                ::core::result::Result::Err(e) => {
460                    panic!(
461                        "method lookup failed: {}
462::{}
463: {}
464",
465                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
466                        ".ctor",
467                        e
468                    )
469                },
470            }
471        }
472    }
473    #[doc(hidden)]
474    #[allow(non_snake_case)]
475    pub mod __lookup_set_extension_methods_snapshot {
476        use super::*;
477        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
478            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
479                <i32 as ::unity::IlType>::il_type(),
480                <crate::system::collections::generic::list_1::List_1<
481                    crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
482                > as ::unity::IlType>::il_type(),
483            ];
484            ::unity::lookup::method_info_on_class_with_signature(
485                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
486                "SetExtensionMethodsSnapshot",
487                2,
488                param_types,
489                false,
490            )
491        });
492        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
493            match &*METHOD {
494                ::core::result::Result::Ok(mi) => *mi,
495                ::core::result::Result::Err(e) => {
496                    panic!(
497                        "method lookup failed: {}
498::{}
499: {}
500",
501                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
502                        "SetExtensionMethodsSnapshot",
503                        e
504                    )
505                },
506            }
507        }
508    }
509    #[doc(hidden)]
510    #[allow(non_snake_case)]
511    pub mod __lookup_set_name {
512        use super::*;
513        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
514            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
515            ::unity::lookup::method_info_on_class_with_signature(
516                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
517                "set_Name",
518                1,
519                param_types,
520                false,
521            )
522        });
523        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
524            match &*METHOD {
525                ::core::result::Result::Ok(mi) => *mi,
526                ::core::result::Result::Err(e) => {
527                    panic!(
528                        "method lookup failed: {}
529::{}
530: {}
531",
532                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
533                        "set_Name",
534                        e
535                    )
536                },
537            }
538        }
539    }
540    #[doc(hidden)]
541    #[allow(non_snake_case)]
542    pub mod __lookup_get_declaring_type {
543        use super::*;
544        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
545            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
546            ::unity::lookup::method_info_on_class_with_signature(
547                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
548                "get_DeclaringType",
549                0,
550                param_types,
551                false,
552            )
553        });
554        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
555            match &*METHOD {
556                ::core::result::Result::Ok(mi) => *mi,
557                ::core::result::Result::Err(e) => {
558                    panic!(
559                        "method lookup failed: {}
560::{}
561: {}
562",
563                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
564                        "get_DeclaringType",
565                        e
566                    )
567                },
568            }
569        }
570    }
571    #[doc(hidden)]
572    #[allow(non_snake_case)]
573    pub mod __lookup_set_declaring_type {
574        use super::*;
575        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
576            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::SystemType as ::unity::IlType>::il_type()];
577            ::unity::lookup::method_info_on_class_with_signature(
578                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
579                "set_DeclaringType",
580                1,
581                param_types,
582                false,
583            )
584        });
585        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
586            match &*METHOD {
587                ::core::result::Result::Ok(mi) => *mi,
588                ::core::result::Result::Err(e) => {
589                    panic!(
590                        "method lookup failed: {}
591::{}
592: {}
593",
594                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
595                        "set_DeclaringType",
596                        e
597                    )
598                },
599            }
600        }
601    }
602    #[doc(hidden)]
603    #[allow(non_snake_case)]
604    pub mod __lookup_add_overload {
605        use super::*;
606        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
607            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor as::unity::IlType> ::il_type()];
608            ::unity::lookup::method_info_on_class_with_signature(
609                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
610                "AddOverload",
611                1,
612                param_types,
613                false,
614            )
615        });
616        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
617            match &*METHOD {
618                ::core::result::Result::Ok(mi) => *mi,
619                ::core::result::Result::Err(e) => {
620                    panic!(
621                        "method lookup failed: {}
622::{}
623: {}
624",
625                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
626                        "AddOverload",
627                        e
628                    )
629                },
630            }
631        }
632    }
633    #[doc(hidden)]
634    #[allow(non_snake_case)]
635    pub mod __lookup_get_overload_count {
636        use super::*;
637        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
638            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
639            ::unity::lookup::method_info_on_class_with_signature(
640                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
641                "get_OverloadCount",
642                0,
643                param_types,
644                false,
645            )
646        });
647        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
648            match &*METHOD {
649                ::core::result::Result::Ok(mi) => *mi,
650                ::core::result::Result::Err(e) => {
651                    panic!(
652                        "method lookup failed: {}
653::{}
654: {}
655",
656                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
657                        "get_OverloadCount",
658                        e
659                    )
660                },
661            }
662        }
663    }
664    #[doc(hidden)]
665    #[allow(non_snake_case)]
666    pub mod __lookup_perform_overloaded_call {
667        use super::*;
668        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
669            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
670                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
671                <crate::system::object::Object as ::unity::IlType>::il_type(),
672                <crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext as ::unity::IlType>::il_type(),
673                <crate::moon_sharp::interpreter::callbackarguments::CallbackArguments as ::unity::IlType>::il_type(),
674            ];
675            ::unity::lookup::method_info_on_class_with_signature(
676                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
677                "PerformOverloadedCall",
678                4,
679                param_types,
680                false,
681            )
682        });
683        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
684            match &*METHOD {
685                ::core::result::Result::Ok(mi) => *mi,
686                ::core::result::Result::Err(e) => {
687                    panic!(
688                        "method lookup failed: {}
689::{}
690: {}
691",
692                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
693                        "PerformOverloadedCall",
694                        e
695                    )
696                },
697            }
698        }
699    }
700    #[doc(hidden)]
701    #[allow(non_snake_case)]
702    pub mod __lookup_cache {
703        use super::*;
704        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
705            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<bool as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::callbackarguments::CallbackArguments as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor as::unity::IlType> ::il_type()];
706            ::unity::lookup::method_info_on_class_with_signature(
707                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
708                "Cache",
709                3,
710                param_types,
711                false,
712            )
713        });
714        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
715            match &*METHOD {
716                ::core::result::Result::Ok(mi) => *mi,
717                ::core::result::Result::Err(e) => {
718                    panic!(
719                        "method lookup failed: {}
720::{}
721: {}
722",
723                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
724                        "Cache",
725                        e
726                    )
727                },
728            }
729        }
730    }
731    #[doc(hidden)]
732    #[allow(non_snake_case)]
733    pub mod __lookup_check_match {
734        use super::*;
735        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
736            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<bool as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::callbackarguments::CallbackArguments as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::overloadedmethodmemberdescriptor::OverloadedMethodMemberDescriptor_OverloadCacheItem as::unity::IlType> ::il_type()];
737            ::unity::lookup::method_info_on_class_with_signature(
738                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
739                "CheckMatch",
740                3,
741                param_types,
742                false,
743            )
744        });
745        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
746            match &*METHOD {
747                ::core::result::Result::Ok(mi) => *mi,
748                ::core::result::Result::Err(e) => {
749                    panic!(
750                        "method lookup failed: {}
751::{}
752: {}
753",
754                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
755                        "CheckMatch",
756                        e
757                    )
758                },
759            }
760        }
761    }
762    #[doc(hidden)]
763    #[allow(non_snake_case)]
764    pub mod __lookup_calc_score_for_overload {
765        use super::*;
766        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
767            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::callbackarguments::CallbackArguments as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor as::unity::IlType> ::il_type(), <bool as::unity::IlType> ::il_type()];
768            ::unity::lookup::method_info_on_class_with_signature(
769                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
770                "CalcScoreForOverload",
771                4,
772                param_types,
773                false,
774            )
775        });
776        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
777            match &*METHOD {
778                ::core::result::Result::Ok(mi) => *mi,
779                ::core::result::Result::Err(e) => {
780                    panic!(
781                        "method lookup failed: {}
782::{}
783: {}
784",
785                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
786                        "CalcScoreForOverload",
787                        e
788                    )
789                },
790            }
791        }
792    }
793    #[doc(hidden)]
794    #[allow(non_snake_case)]
795    pub mod __lookup_calc_score_for_single_argument {
796        use super::*;
797        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
798            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
799                <crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor as ::unity::IlType>::il_type(),
800                <::unity::SystemType as ::unity::IlType>::il_type(),
801                <crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type(),
802                <bool as ::unity::IlType>::il_type(),
803            ];
804            ::unity::lookup::method_info_on_class_with_signature(
805                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
806                "CalcScoreForSingleArgument",
807                4,
808                param_types,
809                true,
810            )
811        });
812        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
813            match &*METHOD {
814                ::core::result::Result::Ok(mi) => *mi,
815                ::core::result::Result::Err(e) => {
816                    panic!(
817                        "method lookup failed: {}
818::{}
819: {}
820",
821                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
822                        "CalcScoreForSingleArgument",
823                        e
824                    )
825                },
826            }
827        }
828    }
829    #[doc(hidden)]
830    #[allow(non_snake_case)]
831    pub mod __lookup_get_callback {
832        use super::*;
833        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
834            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
835                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
836                <crate::system::object::Object as ::unity::IlType>::il_type(),
837            ];
838            ::unity::lookup::method_info_on_class_with_signature(
839                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
840                "GetCallback",
841                2,
842                param_types,
843                false,
844            )
845        });
846        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
847            match &*METHOD {
848                ::core::result::Result::Ok(mi) => *mi,
849                ::core::result::Result::Err(e) => {
850                    panic!(
851                        "method lookup failed: {}
852::{}
853: {}
854",
855                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
856                        "GetCallback",
857                        e
858                    )
859                },
860            }
861        }
862    }
863    #[doc(hidden)]
864    #[allow(non_snake_case)]
865    pub mod __lookup_get_callback_function {
866        use super::*;
867        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
868            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
869                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
870                <::unity::IlInstance as ::unity::IlType>::il_type(),
871            ];
872            ::unity::lookup::method_info_on_class_with_signature(
873                <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::class(),
874                "GetCallbackFunction",
875                2,
876                param_types,
877                false,
878            )
879        });
880        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
881            match &*METHOD {
882                ::core::result::Result::Ok(mi) => *mi,
883                ::core::result::Result::Err(e) => {
884                    panic!(
885                        "method lookup failed: {}
886::{}
887: {}
888",
889                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
890                        "GetCallbackFunction",
891                        e
892                    )
893                },
894            }
895        }
896    }
897}
898
899#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
900impl OverloadedMethodMemberDescriptor {
901    #[doc = "`CalcScoreForSingleArgument(crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor, ::unity::SystemType, crate::moon_sharp::interpreter::dynvalue::DynValue, bool)` overload"]
902    pub fn calc_score_for_single_argument(
903        desc: impl ::core::convert::Into<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>,
904        parameter_type: impl ::core::convert::Into<::unity::SystemType>,
905        arg: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
906        is_optional: impl ::core::convert::Into<bool>,
907    ) -> i32 {
908        unsafe {
909            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_calc_score_for_single_argument::get_method_info().method_ptr,i32;
910(crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor)::core::convert::Into::into(desc),(::unity::SystemType)::core::convert::Into::into(parameter_type),(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(arg),(bool)::core::convert::Into::into(is_optional))
911        }
912    }
913}
914
915#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
916pub trait IOverloadedMethodMemberDescriptorMethods: IOverloadedMethodMemberDescriptor {
917    #[doc = "`get_IgnoreExtensionMethods()` overload"]
918    fn get_ignore_extension_methods(self) -> bool {
919        unsafe {
920            let __receiver =
921                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
922            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_get_ignore_extension_methods::get_method_info().method_ptr,bool;
923(OverloadedMethodMemberDescriptor)__receiver)
924        }
925    }
926    #[doc = "`set_IgnoreExtensionMethods(bool)` overload"]
927    fn set_ignore_extension_methods(self, value: impl ::core::convert::Into<bool>) -> () {
928        unsafe {
929            let __receiver =
930                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
931            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_set_ignore_extension_methods::get_method_info().method_ptr,();
932(OverloadedMethodMemberDescriptor)__receiver,(bool)::core::convert::Into::into(value))
933        }
934    }
935    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType)` overload"]
936    fn ctor(self, name: impl ::core::convert::Into<::unity::Il2CppString>, declaring_type: impl ::core::convert::Into<::unity::SystemType>) -> () {
937        unsafe {
938            let __receiver =
939                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
940            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
941(OverloadedMethodMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(::unity::SystemType)::core::convert::Into::into(declaring_type))
942        }
943    }
944    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType, crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)` overload"]
945    fn ctor_2(
946        self,
947        name: impl ::core::convert::Into<::unity::Il2CppString>,
948        declaring_type: impl ::core::convert::Into<::unity::SystemType>,
949        descriptor: impl ::core::convert::Into<
950            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
951        >,
952    ) -> () {
953        unsafe {
954            let __receiver =
955                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
956            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_ctor_2::get_method_info().method_ptr,();
957(OverloadedMethodMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(::unity::SystemType)::core::convert::Into::into(declaring_type),(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)::core::convert::Into::into(descriptor))
958        }
959    }
960    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType, crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor>)` overload"]
961    fn ctor_3(
962        self,
963        name: impl ::core::convert::Into<::unity::Il2CppString>,
964        declaring_type: impl ::core::convert::Into<::unity::SystemType>,
965        descriptors: impl ::core::convert::Into<
966            crate::system::collections::generic::ienumerable_1::IEnumerable_1<
967                crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
968            >,
969        >,
970    ) -> () {
971        unsafe {
972            let __receiver =
973                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
974            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_ctor_3::get_method_info().method_ptr,();
975(OverloadedMethodMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(::unity::SystemType)::core::convert::Into::into(declaring_type),(crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor>)::core::convert::Into::into(descriptors))
976        }
977    }
978    #[doc = "`SetExtensionMethodsSnapshot(i32, crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor>)` overload"]
979    fn set_extension_methods_snapshot(
980        self,
981        version: impl ::core::convert::Into<i32>,
982        ext_methods: impl ::core::convert::Into<
983            crate::system::collections::generic::list_1::List_1<
984                crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
985            >,
986        >,
987    ) -> () {
988        unsafe {
989            let __receiver =
990                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
991            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_set_extension_methods_snapshot::get_method_info().method_ptr,();
992(OverloadedMethodMemberDescriptor)__receiver,(i32)::core::convert::Into::into(version),(crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor>)::core::convert::Into::into(ext_methods))
993        }
994    }
995    #[doc = "`get_Name()` overload"]
996    fn get_name(self) -> ::unity::Il2CppString {
997        unsafe {
998            let __receiver =
999                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1000            {
1001                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1002                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
1003                    panic!(
1004                        "unity: virtual slot {}
1005 out of range (vtable len {}
1006) on the runtime class behind {}
1007 (method `{}
1008`)",
1009                        6usize,
1010                        __vt.len(),
1011                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1012                        "get_Name",
1013                    )
1014                });
1015                let __inner: extern "C" fn(OverloadedMethodMemberDescriptor, ::unity::OptionalMethod) -> ::unity::Il2CppString =
1016                    ::core::mem::transmute(__vi.method_ptr);
1017                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1018                __inner(__receiver, __mi)
1019            }
1020        }
1021    }
1022    #[doc = "`set_Name(::unity::Il2CppString)` overload"]
1023    fn set_name(self, value: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1024        unsafe {
1025            let __receiver =
1026                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1027            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_set_name::get_method_info().method_ptr,();
1028(OverloadedMethodMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(value))
1029        }
1030    }
1031    #[doc = "`get_DeclaringType()` overload"]
1032    fn get_declaring_type(self) -> ::unity::SystemType {
1033        unsafe {
1034            let __receiver =
1035                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1036            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_get_declaring_type::get_method_info().method_ptr, ::unity::SystemType;
1037(OverloadedMethodMemberDescriptor)__receiver)
1038        }
1039    }
1040    #[doc = "`set_DeclaringType(::unity::SystemType)` overload"]
1041    fn set_declaring_type(self, value: impl ::core::convert::Into<::unity::SystemType>) -> () {
1042        unsafe {
1043            let __receiver =
1044                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1045            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_set_declaring_type::get_method_info().method_ptr,();
1046(OverloadedMethodMemberDescriptor)__receiver,(::unity::SystemType)::core::convert::Into::into(value))
1047        }
1048    }
1049    #[doc = "`AddOverload(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)` overload"]
1050    fn add_overload(
1051        self,
1052        overload: impl ::core::convert::Into<
1053            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
1054        >,
1055    ) -> () {
1056        unsafe {
1057            let __receiver =
1058                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1059            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_add_overload::get_method_info().method_ptr,();
1060(OverloadedMethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)::core::convert::Into::into(overload))
1061        }
1062    }
1063    #[doc = "`get_OverloadCount()` overload"]
1064    fn get_overload_count(self) -> i32 {
1065        unsafe {
1066            let __receiver =
1067                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1068            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_get_overload_count::get_method_info().method_ptr,i32;
1069(OverloadedMethodMemberDescriptor)__receiver)
1070        }
1071    }
1072    #[doc = "`PerformOverloadedCall(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)` overload"]
1073    fn perform_overloaded_call(
1074        self,
1075        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1076        obj: impl ::core::convert::Into<crate::system::object::Object>,
1077        context: impl ::core::convert::Into<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext>,
1078        args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
1079    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1080        unsafe {
1081            let __receiver =
1082                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1083            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_perform_overloaded_call::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1084(OverloadedMethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj),(crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext)::core::convert::Into::into(context),(crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)::core::convert::Into::into(args))
1085        }
1086    }
1087    #[doc = "`Cache(bool, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments, crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)` overload"]
1088    fn cache(
1089        self,
1090        has_object: impl ::core::convert::Into<bool>,
1091        args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
1092        best_overload: impl ::core::convert::Into<
1093            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
1094        >,
1095    ) -> () {
1096        unsafe {
1097            let __receiver =
1098                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1099            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_cache::get_method_info().method_ptr,();
1100(OverloadedMethodMemberDescriptor)__receiver,(bool)::core::convert::Into::into(has_object),(crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)::core::convert::Into::into(args),(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)::core::convert::Into::into(best_overload))
1101        }
1102    }
1103    #[doc = "`CheckMatch(bool, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments, crate::moon_sharp::interpreter::interop::overloadedmethodmemberdescriptor::OverloadedMethodMemberDescriptor_OverloadCacheItem)` overload"]
1104    fn check_match(
1105        self,
1106        has_object: impl ::core::convert::Into<bool>,
1107        args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
1108        overload_cache_item: impl ::core::convert::Into<
1109            crate::moon_sharp::interpreter::interop::overloadedmethodmemberdescriptor::OverloadedMethodMemberDescriptor_OverloadCacheItem,
1110        >,
1111    ) -> bool {
1112        unsafe {
1113            let __receiver =
1114                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1115            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_check_match::get_method_info().method_ptr,bool;
1116(OverloadedMethodMemberDescriptor)__receiver,(bool)::core::convert::Into::into(has_object),(crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)::core::convert::Into::into(args),(crate::moon_sharp::interpreter::interop::overloadedmethodmemberdescriptor::OverloadedMethodMemberDescriptor_OverloadCacheItem)::core::convert::Into::into(overload_cache_item))
1117        }
1118    }
1119    #[doc = "`CalcScoreForOverload(crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments, crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor, bool)` overload"]
1120    fn calc_score_for_overload(
1121        self,
1122        context: impl ::core::convert::Into<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext>,
1123        args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
1124        method: impl ::core::convert::Into<
1125            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
1126        >,
1127        is_ext_method: impl ::core::convert::Into<bool>,
1128    ) -> i32 {
1129        unsafe {
1130            let __receiver =
1131                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1132            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_calc_score_for_overload::get_method_info().method_ptr,i32;
1133(OverloadedMethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext)::core::convert::Into::into(context),(crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)::core::convert::Into::into(args),(crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)::core::convert::Into::into(method),(bool)::core::convert::Into::into(is_ext_method))
1134        }
1135    }
1136    #[doc = "`GetCallback(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1137    fn get_callback(
1138        self,
1139        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1140        obj: impl ::core::convert::Into<crate::system::object::Object>,
1141    ) -> crate::system::func_3::Func_3<
1142        crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
1143        crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
1144        crate::moon_sharp::interpreter::dynvalue::DynValue,
1145    > {
1146        unsafe {
1147            let __receiver =
1148                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1149            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_get_callback::get_method_info().method_ptr,crate::system::func_3::Func_3<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::moon_sharp::interpreter::dynvalue::DynValue> ;
1150(OverloadedMethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1151        }
1152    }
1153    #[doc = "`MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize()` overload"]
1154    fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(self) -> () {
1155        unsafe {
1156            let __receiver =
1157                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1158            {
1159                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1160                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
1161                    panic!(
1162                        "unity: virtual slot {}
1163 out of range (vtable len {}
1164) on the runtime class behind {}
1165 (method `{}
1166`)",
1167                        4usize,
1168                        __vt.len(),
1169                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1170                        "MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize",
1171                    )
1172                });
1173                let __inner: extern "C" fn(OverloadedMethodMemberDescriptor, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1174                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1175                __inner(__receiver, __mi)
1176            }
1177        }
1178    }
1179    #[doc = "`GetCallbackFunction(crate::moon_sharp::interpreter::script::Script, ::unity::IlInstance)` overload"]
1180    fn get_callback_function(
1181        self,
1182        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1183        obj: impl ::core::convert::Into<::unity::IlInstance>,
1184    ) -> crate::moon_sharp::interpreter::callbackfunction::CallbackFunction {
1185        unsafe {
1186            let __receiver =
1187                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1188            ::unity::il2cpp_call!(__OverloadedMethodMemberDescriptor_unity_raw::__lookup_get_callback_function::get_method_info().method_ptr,crate::moon_sharp::interpreter::callbackfunction::CallbackFunction;
1189(OverloadedMethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(::unity::IlInstance)::core::convert::Into::into(obj))
1190        }
1191    }
1192    #[doc = "`get_IsStatic()` overload"]
1193    fn get_is_static(self) -> bool {
1194        unsafe {
1195            let __receiver =
1196                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1197            {
1198                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1199                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
1200                    panic!(
1201                        "unity: virtual slot {}
1202 out of range (vtable len {}
1203) on the runtime class behind {}
1204 (method `{}
1205`)",
1206                        5usize,
1207                        __vt.len(),
1208                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1209                        "get_IsStatic",
1210                    )
1211                });
1212                let __inner: extern "C" fn(OverloadedMethodMemberDescriptor, ::unity::OptionalMethod) -> bool =
1213                    ::core::mem::transmute(__vi.method_ptr);
1214                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1215                __inner(__receiver, __mi)
1216            }
1217        }
1218    }
1219    #[doc = "`get_MemberAccess()` overload"]
1220    fn get_member_access(self) -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess {
1221        unsafe {
1222            let __receiver =
1223                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1224            {
1225                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1226                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
1227                    panic!(
1228                        "unity: virtual slot {}
1229 out of range (vtable len {}
1230) on the runtime class behind {}
1231 (method `{}
1232`)",
1233                        7usize,
1234                        __vt.len(),
1235                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1236                        "get_MemberAccess",
1237                    )
1238                });
1239                let __inner:extern "C" fn(OverloadedMethodMemberDescriptor, ::unity::OptionalMethod,)->crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess= ::core::mem::transmute(__vi.method_ptr);
1240                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1241                __inner(__receiver, __mi)
1242            }
1243        }
1244    }
1245    #[doc = "`GetValue(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1246    fn get_value(
1247        self,
1248        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1249        obj: impl ::core::convert::Into<crate::system::object::Object>,
1250    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1251        unsafe {
1252            let __receiver =
1253                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1254            {
1255                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1256                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
1257                    panic!(
1258                        "unity: virtual slot {}
1259 out of range (vtable len {}
1260) on the runtime class behind {}
1261 (method `{}
1262`)",
1263                        8usize,
1264                        __vt.len(),
1265                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1266                        "GetValue",
1267                    )
1268                });
1269                let __inner: extern "C" fn(
1270                    OverloadedMethodMemberDescriptor,
1271                    crate::moon_sharp::interpreter::script::Script,
1272                    crate::system::object::Object,
1273                    ::unity::OptionalMethod,
1274                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
1275                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1276                __inner(__receiver, ::core::convert::Into::into(script), ::core::convert::Into::into(obj), __mi)
1277            }
1278        }
1279    }
1280    #[doc = "`SetValue(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
1281    fn set_value(
1282        self,
1283        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1284        obj: impl ::core::convert::Into<crate::system::object::Object>,
1285        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1286    ) -> () {
1287        unsafe {
1288            let __receiver =
1289                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1290            {
1291                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1292                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
1293                    panic!(
1294                        "unity: virtual slot {}
1295 out of range (vtable len {}
1296) on the runtime class behind {}
1297 (method `{}
1298`)",
1299                        9usize,
1300                        __vt.len(),
1301                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1302                        "SetValue",
1303                    )
1304                });
1305                let __inner: extern "C" fn(
1306                    OverloadedMethodMemberDescriptor,
1307                    crate::moon_sharp::interpreter::script::Script,
1308                    crate::system::object::Object,
1309                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1310                    ::unity::OptionalMethod,
1311                ) -> () = ::core::mem::transmute(__vi.method_ptr);
1312                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1313                __inner(
1314                    __receiver,
1315                    ::core::convert::Into::into(script),
1316                    ::core::convert::Into::into(obj),
1317                    ::core::convert::Into::into(value),
1318                    __mi,
1319                )
1320            }
1321        }
1322    }
1323    #[doc = "`PrepareForWiring(crate::moon_sharp::interpreter::table::Table)` overload"]
1324    fn prepare_for_wiring(self, t: impl ::core::convert::Into<crate::moon_sharp::interpreter::table::Table>) -> () {
1325        unsafe {
1326            let __receiver =
1327                <OverloadedMethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1328            {
1329                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1330                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
1331                    panic!(
1332                        "unity: virtual slot {}
1333 out of range (vtable len {}
1334) on the runtime class behind {}
1335 (method `{}
1336`)",
1337                        10usize,
1338                        __vt.len(),
1339                        <OverloadedMethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
1340                        "PrepareForWiring",
1341                    )
1342                });
1343                let __inner: extern "C" fn(
1344                    OverloadedMethodMemberDescriptor,
1345                    crate::moon_sharp::interpreter::table::Table,
1346                    ::unity::OptionalMethod,
1347                ) -> () = ::core::mem::transmute(__vi.method_ptr);
1348                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1349                __inner(__receiver, ::core::convert::Into::into(t), __mi)
1350            }
1351        }
1352    }
1353}
1354
1355#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
1356impl<__T: IOverloadedMethodMemberDescriptor> IOverloadedMethodMemberDescriptorMethods for __T {}
1357
1358#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
1359impl OverloadedMethodMemberDescriptor {
1360    pub fn get_ignore_extension_methods_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1361        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1362    }
1363
1364    pub fn set_ignore_extension_methods_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1365        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1366    }
1367
1368    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1369        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1370    }
1371
1372    pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1373        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1374    }
1375
1376    pub fn ctor_3_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1377        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1378    }
1379
1380    pub fn set_extension_methods_snapshot_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1381        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1382    }
1383
1384    pub fn get_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1385        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1386    }
1387
1388    pub fn set_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1389        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1390    }
1391
1392    pub fn get_declaring_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1393        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1394    }
1395
1396    pub fn set_declaring_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1397        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1398    }
1399
1400    pub fn add_overload_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1401        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1402    }
1403
1404    pub fn get_overload_count_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1405        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1406    }
1407
1408    pub fn perform_overloaded_call_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1409        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1410    }
1411
1412    pub fn cache_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1413        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
1414    }
1415
1416    pub fn check_match_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1417        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
1418    }
1419
1420    pub fn calc_score_for_overload_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1421        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
1422    }
1423
1424    pub fn calc_score_for_single_argument_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1425        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
1426    }
1427
1428    pub fn get_callback_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1429        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
1430    }
1431
1432    pub fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1433        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
1434    }
1435
1436    pub fn get_callback_function_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1437        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
1438    }
1439
1440    pub fn get_is_static_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1441        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
1442    }
1443
1444    pub fn get_member_access_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1445        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
1446    }
1447
1448    pub fn get_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1449        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
1450    }
1451
1452    pub fn set_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1453        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
1454    }
1455
1456    pub fn prepare_for_wiring_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1457        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
1458    }
1459}
1460
1461#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
1462impl OverloadedMethodMemberDescriptor {
1463    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `get_Name`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1464    pub unsafe fn get_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
1465        let __mi = Self::get_name_method_info();
1466        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
1467        __inner(this.into(), ::core::option::Option::None)
1468    }
1469
1470    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1471    pub unsafe fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(
1472        this: impl ::core::convert::Into<::unity::IlInstance>,
1473    ) -> () {
1474        let __mi = Self::moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info();
1475        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1476        __inner(this.into(), ::core::option::Option::None)
1477    }
1478
1479    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `get_IsStatic`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1480    pub unsafe fn get_is_static(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
1481        let __mi = Self::get_is_static_method_info();
1482        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
1483        __inner(this.into(), ::core::option::Option::None)
1484    }
1485
1486    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `get_MemberAccess`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1487    pub unsafe fn get_member_access(
1488        this: impl ::core::convert::Into<::unity::IlInstance>,
1489    ) -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess {
1490        let __mi = Self::get_member_access_method_info();
1491        let __inner: extern "C" fn(
1492            ::unity::IlInstance,
1493            ::unity::OptionalMethod,
1494        )
1495            -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess =
1496            ::core::mem::transmute(__mi.method_ptr);
1497        __inner(this.into(), ::core::option::Option::None)
1498    }
1499
1500    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `GetValue`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1501    pub unsafe fn get_value(
1502        this: impl ::core::convert::Into<::unity::IlInstance>,
1503        script: crate::moon_sharp::interpreter::script::Script,
1504        obj: crate::system::object::Object,
1505    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1506        let __mi = Self::get_value_method_info();
1507        let __inner: extern "C" fn(
1508            ::unity::IlInstance,
1509            crate::moon_sharp::interpreter::script::Script,
1510            crate::system::object::Object,
1511            ::unity::OptionalMethod,
1512        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
1513        __inner(this.into(), script, obj, ::core::option::Option::None)
1514    }
1515
1516    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `SetValue`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1517    pub unsafe fn set_value(
1518        this: impl ::core::convert::Into<::unity::IlInstance>,
1519        script: crate::moon_sharp::interpreter::script::Script,
1520        obj: crate::system::object::Object,
1521        value: crate::moon_sharp::interpreter::dynvalue::DynValue,
1522    ) -> () {
1523        let __mi = Self::set_value_method_info();
1524        let __inner: extern "C" fn(
1525            ::unity::IlInstance,
1526            crate::moon_sharp::interpreter::script::Script,
1527            crate::system::object::Object,
1528            crate::moon_sharp::interpreter::dynvalue::DynValue,
1529            ::unity::OptionalMethod,
1530        ) -> () = ::core::mem::transmute(__mi.method_ptr);
1531        __inner(this.into(), script, obj, value, ::core::option::Option::None)
1532    }
1533
1534    #[doc = "Direct (non-virtual) call to `OverloadedMethodMemberDescriptor`'s own `PrepareForWiring`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1535    pub unsafe fn prepare_for_wiring(this: impl ::core::convert::Into<::unity::IlInstance>, t: crate::moon_sharp::interpreter::table::Table) -> () {
1536        let __mi = Self::prepare_for_wiring_method_info();
1537        let __inner: extern "C" fn(::unity::IlInstance, crate::moon_sharp::interpreter::table::Table, ::unity::OptionalMethod) -> () =
1538            ::core::mem::transmute(__mi.method_ptr);
1539        __inner(this.into(), t, ::core::option::Option::None)
1540    }
1541}
1542
1543#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
1544impl OverloadedMethodMemberDescriptor {
1545    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType)` — overload selector"]
1546    pub fn new(name: ::unity::Il2CppString, declaring_type: ::unity::SystemType) -> Self {
1547        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1548            panic!(
1549                "{}
1550::{}
1551 failed to instantiate",
1552                ::core::stringify!(OverloadedMethodMemberDescriptor),
1553                ::core::stringify!(new),
1554            )
1555        });
1556        <Self as IOverloadedMethodMemberDescriptorMethods>::ctor(this, name, declaring_type);
1557        this
1558    }
1559
1560    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType, crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor)` — overload selector"]
1561    pub fn new_2(
1562        name: ::unity::Il2CppString,
1563        declaring_type: ::unity::SystemType,
1564        descriptor: crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
1565    ) -> Self {
1566        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1567            panic!(
1568                "{}
1569::{}
1570 failed to instantiate",
1571                ::core::stringify!(OverloadedMethodMemberDescriptor),
1572                ::core::stringify!(new_2),
1573            )
1574        });
1575        <Self as IOverloadedMethodMemberDescriptorMethods>::ctor_2(this, name, declaring_type, descriptor);
1576        this
1577    }
1578
1579    #[doc = "`.ctor(::unity::Il2CppString, ::unity::SystemType, crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor>)` — overload selector"]
1580    pub fn new_3(
1581        name: ::unity::Il2CppString,
1582        declaring_type: ::unity::SystemType,
1583        descriptors: crate::system::collections::generic::ienumerable_1::IEnumerable_1<
1584            crate::moon_sharp::interpreter::interop::basic_descriptors::ioverloadablememberdescriptor::IOverloadableMemberDescriptor,
1585        >,
1586    ) -> Self {
1587        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1588            panic!(
1589                "{}
1590::{}
1591 failed to instantiate",
1592                ::core::stringify!(OverloadedMethodMemberDescriptor),
1593                ::core::stringify!(new_3),
1594            )
1595        });
1596        <Self as IOverloadedMethodMemberDescriptorMethods>::ctor_3(this, name, declaring_type, descriptors);
1597        this
1598    }
1599}
1600
1601#[cfg(feature = "moon_sharp-interpreter-interop-overloadedmethodmemberdescriptor")]
1602#[doc(hidden)]
1603pub mod prelude {
1604    pub use super::{
1605        IOverloadedMethodMemberDescriptor, IOverloadedMethodMemberDescriptorMethods, IOverloadedMethodMemberDescriptor_OverloadCacheItem,
1606        IOverloadedMethodMemberDescriptor_OverloadCacheItemMethods, IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer,
1607        IOverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparerMethods, OverloadedMethodMemberDescriptor,
1608        OverloadedMethodMemberDescriptor_OverloadCacheItem, OverloadedMethodMemberDescriptor_OverloadableMemberDescriptorComparer,
1609    };
1610    pub use crate::system::object::IObject;
1611    #[cfg(feature = "system-object")]
1612    pub use crate::system::object::IObjectMethods;
1613}