Skip to main content

engage/generated/moon_sharp/interpreter/interop/basic_descriptors/
dispatchinguserdatadescriptor.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor-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/basic_descriptors/dispatchinguserdatadescriptor/DispatchingUserDataDescriptor.md"))]
11    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop.BasicDescriptors", name = "DispatchingUserDataDescriptor")]
12    #[parent(crate::system::object::Object)]
13    pub struct DispatchingUserDataDescriptor {
14        #[offset(16)]
15        #[rename(name = "m_ExtMethodsVersion")]
16        pub m_ext_methods_version: i32,
17        #[offset(24)]
18        #[rename(name = "m_MetaMembers")]
19        pub m_meta_members: crate::system::collections::generic::dictionary_2::Dictionary_2<
20            ::unity::Il2CppString,
21            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
22        >,
23        #[offset(32)]
24        #[rename(name = "m_Members")]
25        pub m_members: crate::system::collections::generic::dictionary_2::Dictionary_2<
26            ::unity::Il2CppString,
27            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
28        >,
29        #[static_field]
30        #[rename(name = "SPECIALNAME_INDEXER_GET")]
31        pub specialname_indexer_get: ::unity::Il2CppString,
32        #[static_field]
33        #[rename(name = "SPECIALNAME_INDEXER_SET")]
34        pub specialname_indexer_set: ::unity::Il2CppString,
35        #[static_field]
36        #[rename(name = "SPECIALNAME_CAST_EXPLICIT")]
37        pub specialname_cast_explicit: ::unity::Il2CppString,
38        #[static_field]
39        #[rename(name = "SPECIALNAME_CAST_IMPLICIT")]
40        pub specialname_cast_implicit: ::unity::Il2CppString,
41    }
42}
43
44#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor-types")]
45pub use __types::*;
46
47#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
48#[doc(hidden)]
49#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
50mod __DispatchingUserDataDescriptor_unity_raw {
51    use super::*;
52    #[doc(hidden)]
53    #[allow(non_snake_case)]
54    pub mod __lookup_set_name {
55        use super::*;
56        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
57            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
58            ::unity::lookup::method_info_on_class_with_signature(
59                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
60                "set_Name",
61                1,
62                param_types,
63                false,
64            )
65        });
66        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
67            match &*METHOD {
68                ::core::result::Result::Ok(mi) => *mi,
69                ::core::result::Result::Err(e) => {
70                    panic!(
71                        "method lookup failed: {}
72::{}
73: {}
74",
75                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
76                        "set_Name",
77                        e
78                    )
79                },
80            }
81        }
82    }
83    #[doc(hidden)]
84    #[allow(non_snake_case)]
85    pub mod __lookup_set_type {
86        use super::*;
87        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
88            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::SystemType as ::unity::IlType>::il_type()];
89            ::unity::lookup::method_info_on_class_with_signature(
90                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
91                "set_Type",
92                1,
93                param_types,
94                false,
95            )
96        });
97        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
98            match &*METHOD {
99                ::core::result::Result::Ok(mi) => *mi,
100                ::core::result::Result::Err(e) => {
101                    panic!(
102                        "method lookup failed: {}
103::{}
104: {}
105",
106                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
107                        "set_Type",
108                        e
109                    )
110                },
111            }
112        }
113    }
114    #[doc(hidden)]
115    #[allow(non_snake_case)]
116    pub mod __lookup_get_friendly_name {
117        use super::*;
118        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
119            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
120            ::unity::lookup::method_info_on_class_with_signature(
121                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
122                "get_FriendlyName",
123                0,
124                param_types,
125                false,
126            )
127        });
128        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
129            match &*METHOD {
130                ::core::result::Result::Ok(mi) => *mi,
131                ::core::result::Result::Err(e) => {
132                    panic!(
133                        "method lookup failed: {}
134::{}
135: {}
136",
137                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
138                        "get_FriendlyName",
139                        e
140                    )
141                },
142            }
143        }
144    }
145    #[doc(hidden)]
146    #[allow(non_snake_case)]
147    pub mod __lookup_set_friendly_name {
148        use super::*;
149        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
150            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
151            ::unity::lookup::method_info_on_class_with_signature(
152                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
153                "set_FriendlyName",
154                1,
155                param_types,
156                false,
157            )
158        });
159        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
160            match &*METHOD {
161                ::core::result::Result::Ok(mi) => *mi,
162                ::core::result::Result::Err(e) => {
163                    panic!(
164                        "method lookup failed: {}
165::{}
166: {}
167",
168                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
169                        "set_FriendlyName",
170                        e
171                    )
172                },
173            }
174        }
175    }
176    #[doc(hidden)]
177    #[allow(non_snake_case)]
178    pub mod __lookup_ctor {
179        use super::*;
180        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
181            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
182                <::unity::SystemType as ::unity::IlType>::il_type(),
183                <::unity::Il2CppString as ::unity::IlType>::il_type(),
184            ];
185            ::unity::lookup::method_info_on_class_with_signature(
186                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
187                ".ctor",
188                2,
189                param_types,
190                false,
191            )
192        });
193        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
194            match &*METHOD {
195                ::core::result::Result::Ok(mi) => *mi,
196                ::core::result::Result::Err(e) => {
197                    panic!(
198                        "method lookup failed: {}
199::{}
200: {}
201",
202                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
203                        ".ctor",
204                        e
205                    )
206                },
207            }
208        }
209    }
210    #[doc(hidden)]
211    #[allow(non_snake_case)]
212    pub mod __lookup_add_meta_member {
213        use super::*;
214        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
215            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[< ::unity::Il2CppString as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface as::unity::IlType> ::il_type()];
216            ::unity::lookup::method_info_on_class_with_signature(
217                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
218                "AddMetaMember",
219                2,
220                param_types,
221                false,
222            )
223        });
224        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
225            match &*METHOD {
226                ::core::result::Result::Ok(mi) => *mi,
227                ::core::result::Result::Err(e) => {
228                    panic!(
229                        "method lookup failed: {}
230::{}
231: {}
232",
233                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
234                        "AddMetaMember",
235                        e
236                    )
237                },
238            }
239        }
240    }
241    #[doc(hidden)]
242    #[allow(non_snake_case)]
243    pub mod __lookup_add_dyn_value {
244        use super::*;
245        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
246            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
247                <::unity::Il2CppString as ::unity::IlType>::il_type(),
248                <crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type(),
249            ];
250            ::unity::lookup::method_info_on_class_with_signature(
251                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
252                "AddDynValue",
253                2,
254                param_types,
255                false,
256            )
257        });
258        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
259            match &*METHOD {
260                ::core::result::Result::Ok(mi) => *mi,
261                ::core::result::Result::Err(e) => {
262                    panic!(
263                        "method lookup failed: {}
264::{}
265: {}
266",
267                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
268                        "AddDynValue",
269                        e
270                    )
271                },
272            }
273        }
274    }
275    #[doc(hidden)]
276    #[allow(non_snake_case)]
277    pub mod __lookup_add_member {
278        use super::*;
279        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
280            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[< ::unity::Il2CppString as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface as::unity::IlType> ::il_type()];
281            ::unity::lookup::method_info_on_class_with_signature(
282                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
283                "AddMember",
284                2,
285                param_types,
286                false,
287            )
288        });
289        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
290            match &*METHOD {
291                ::core::result::Result::Ok(mi) => *mi,
292                ::core::result::Result::Err(e) => {
293                    panic!(
294                        "method lookup failed: {}
295::{}
296: {}
297",
298                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
299                        "AddMember",
300                        e
301                    )
302                },
303            }
304        }
305    }
306    #[doc(hidden)]
307    #[allow(non_snake_case)]
308    pub mod __lookup_get_member_names {
309        use super::*;
310        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
311            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
312            ::unity::lookup::method_info_on_class_with_signature(
313                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
314                "get_MemberNames",
315                0,
316                param_types,
317                false,
318            )
319        });
320        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
321            match &*METHOD {
322                ::core::result::Result::Ok(mi) => *mi,
323                ::core::result::Result::Err(e) => {
324                    panic!(
325                        "method lookup failed: {}
326::{}
327: {}
328",
329                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
330                        "get_MemberNames",
331                        e
332                    )
333                },
334            }
335        }
336    }
337    #[doc(hidden)]
338    #[allow(non_snake_case)]
339    pub mod __lookup_get_members {
340        use super::*;
341        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
342            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
343            ::unity::lookup::method_info_on_class_with_signature(
344                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
345                "get_Members",
346                0,
347                param_types,
348                false,
349            )
350        });
351        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
352            match &*METHOD {
353                ::core::result::Result::Ok(mi) => *mi,
354                ::core::result::Result::Err(e) => {
355                    panic!(
356                        "method lookup failed: {}
357::{}
358: {}
359",
360                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
361                        "get_Members",
362                        e
363                    )
364                },
365            }
366        }
367    }
368    #[doc(hidden)]
369    #[allow(non_snake_case)]
370    pub mod __lookup_find_member {
371        use super::*;
372        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
373            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
374            ::unity::lookup::method_info_on_class_with_signature(
375                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
376                "FindMember",
377                1,
378                param_types,
379                false,
380            )
381        });
382        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
383            match &*METHOD {
384                ::core::result::Result::Ok(mi) => *mi,
385                ::core::result::Result::Err(e) => {
386                    panic!(
387                        "method lookup failed: {}
388::{}
389: {}
390",
391                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
392                        "FindMember",
393                        e
394                    )
395                },
396            }
397        }
398    }
399    #[doc(hidden)]
400    #[allow(non_snake_case)]
401    pub mod __lookup_remove_member {
402        use super::*;
403        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
404            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
405            ::unity::lookup::method_info_on_class_with_signature(
406                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
407                "RemoveMember",
408                1,
409                param_types,
410                false,
411            )
412        });
413        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
414            match &*METHOD {
415                ::core::result::Result::Ok(mi) => *mi,
416                ::core::result::Result::Err(e) => {
417                    panic!(
418                        "method lookup failed: {}
419::{}
420: {}
421",
422                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
423                        "RemoveMember",
424                        e
425                    )
426                },
427            }
428        }
429    }
430    #[doc(hidden)]
431    #[allow(non_snake_case)]
432    pub mod __lookup_get_meta_member_names {
433        use super::*;
434        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
435            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
436            ::unity::lookup::method_info_on_class_with_signature(
437                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
438                "get_MetaMemberNames",
439                0,
440                param_types,
441                false,
442            )
443        });
444        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
445            match &*METHOD {
446                ::core::result::Result::Ok(mi) => *mi,
447                ::core::result::Result::Err(e) => {
448                    panic!(
449                        "method lookup failed: {}
450::{}
451: {}
452",
453                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
454                        "get_MetaMemberNames",
455                        e
456                    )
457                },
458            }
459        }
460    }
461    #[doc(hidden)]
462    #[allow(non_snake_case)]
463    pub mod __lookup_get_meta_members {
464        use super::*;
465        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
466            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
467            ::unity::lookup::method_info_on_class_with_signature(
468                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
469                "get_MetaMembers",
470                0,
471                param_types,
472                false,
473            )
474        });
475        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
476            match &*METHOD {
477                ::core::result::Result::Ok(mi) => *mi,
478                ::core::result::Result::Err(e) => {
479                    panic!(
480                        "method lookup failed: {}
481::{}
482: {}
483",
484                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
485                        "get_MetaMembers",
486                        e
487                    )
488                },
489            }
490        }
491    }
492    #[doc(hidden)]
493    #[allow(non_snake_case)]
494    pub mod __lookup_find_meta_member {
495        use super::*;
496        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
497            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
498            ::unity::lookup::method_info_on_class_with_signature(
499                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
500                "FindMetaMember",
501                1,
502                param_types,
503                false,
504            )
505        });
506        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
507            match &*METHOD {
508                ::core::result::Result::Ok(mi) => *mi,
509                ::core::result::Result::Err(e) => {
510                    panic!(
511                        "method lookup failed: {}
512::{}
513: {}
514",
515                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
516                        "FindMetaMember",
517                        e
518                    )
519                },
520            }
521        }
522    }
523    #[doc(hidden)]
524    #[allow(non_snake_case)]
525    pub mod __lookup_remove_meta_member {
526        use super::*;
527        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
528            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
529            ::unity::lookup::method_info_on_class_with_signature(
530                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
531                "RemoveMetaMember",
532                1,
533                param_types,
534                false,
535            )
536        });
537        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
538            match &*METHOD {
539                ::core::result::Result::Ok(mi) => *mi,
540                ::core::result::Result::Err(e) => {
541                    panic!(
542                        "method lookup failed: {}
543::{}
544: {}
545",
546                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
547                        "RemoveMetaMember",
548                        e
549                    )
550                },
551            }
552        }
553    }
554    #[doc(hidden)]
555    #[allow(non_snake_case)]
556    pub mod __lookup_add_member_to {
557        use super::*;
558        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
559            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::system::collections::generic::dictionary_2::Dictionary_2< ::unity::Il2CppString,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface>as::unity::IlType> ::il_type(), < ::unity::Il2CppString as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface as::unity::IlType> ::il_type()];
560            ::unity::lookup::method_info_on_class_with_signature(
561                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
562                "AddMemberTo",
563                3,
564                param_types,
565                false,
566            )
567        });
568        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
569            match &*METHOD {
570                ::core::result::Result::Ok(mi) => *mi,
571                ::core::result::Result::Err(e) => {
572                    panic!(
573                        "method lookup failed: {}
574::{}
575: {}
576",
577                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
578                        "AddMemberTo",
579                        e
580                    )
581                },
582            }
583        }
584    }
585    #[doc(hidden)]
586    #[allow(non_snake_case)]
587    pub mod __lookup_try_index_on_ext_method {
588        use super::*;
589        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
590            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
591                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
592                <crate::system::object::Object as ::unity::IlType>::il_type(),
593                <::unity::Il2CppString as ::unity::IlType>::il_type(),
594            ];
595            ::unity::lookup::method_info_on_class_with_signature(
596                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
597                "TryIndexOnExtMethod",
598                3,
599                param_types,
600                false,
601            )
602        });
603        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
604            match &*METHOD {
605                ::core::result::Result::Ok(mi) => *mi,
606                ::core::result::Result::Err(e) => {
607                    panic!(
608                        "method lookup failed: {}
609::{}
610: {}
611",
612                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
613                        "TryIndexOnExtMethod",
614                        e
615                    )
616                },
617            }
618        }
619    }
620    #[doc(hidden)]
621    #[allow(non_snake_case)]
622    pub mod __lookup_has_member {
623        use super::*;
624        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
625            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
626            ::unity::lookup::method_info_on_class_with_signature(
627                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
628                "HasMember",
629                1,
630                param_types,
631                false,
632            )
633        });
634        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
635            match &*METHOD {
636                ::core::result::Result::Ok(mi) => *mi,
637                ::core::result::Result::Err(e) => {
638                    panic!(
639                        "method lookup failed: {}
640::{}
641: {}
642",
643                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
644                        "HasMember",
645                        e
646                    )
647                },
648            }
649        }
650    }
651    #[doc(hidden)]
652    #[allow(non_snake_case)]
653    pub mod __lookup_has_meta_member {
654        use super::*;
655        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
656            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
657            ::unity::lookup::method_info_on_class_with_signature(
658                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
659                "HasMetaMember",
660                1,
661                param_types,
662                false,
663            )
664        });
665        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
666            match &*METHOD {
667                ::core::result::Result::Ok(mi) => *mi,
668                ::core::result::Result::Err(e) => {
669                    panic!(
670                        "method lookup failed: {}
671::{}
672: {}
673",
674                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
675                        "HasMetaMember",
676                        e
677                    )
678                },
679            }
680        }
681    }
682    #[doc(hidden)]
683    #[allow(non_snake_case)]
684    pub mod __lookup_camelify {
685        use super::*;
686        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
687            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
688            ::unity::lookup::method_info_on_class_with_signature(
689                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
690                "Camelify",
691                1,
692                param_types,
693                true,
694            )
695        });
696        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
697            match &*METHOD {
698                ::core::result::Result::Ok(mi) => *mi,
699                ::core::result::Result::Err(e) => {
700                    panic!(
701                        "method lookup failed: {}
702::{}
703: {}
704",
705                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
706                        "Camelify",
707                        e
708                    )
709                },
710            }
711        }
712    }
713    #[doc(hidden)]
714    #[allow(non_snake_case)]
715    pub mod __lookup_upper_first_letter {
716        use super::*;
717        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
718            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
719            ::unity::lookup::method_info_on_class_with_signature(
720                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
721                "UpperFirstLetter",
722                1,
723                param_types,
724                true,
725            )
726        });
727        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
728            match &*METHOD {
729                ::core::result::Result::Ok(mi) => *mi,
730                ::core::result::Result::Err(e) => {
731                    panic!(
732                        "method lookup failed: {}
733::{}
734: {}
735",
736                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
737                        "UpperFirstLetter",
738                        e
739                    )
740                },
741            }
742        }
743    }
744    #[doc(hidden)]
745    #[allow(non_snake_case)]
746    pub mod __lookup_perform_comparison {
747        use super::*;
748        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
749            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
750                <crate::system::object::Object as ::unity::IlType>::il_type(),
751                <crate::system::object::Object as ::unity::IlType>::il_type(),
752                <crate::system::object::Object as ::unity::IlType>::il_type(),
753            ];
754            ::unity::lookup::method_info_on_class_with_signature(
755                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
756                "PerformComparison",
757                3,
758                param_types,
759                false,
760            )
761        });
762        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
763            match &*METHOD {
764                ::core::result::Result::Ok(mi) => *mi,
765                ::core::result::Result::Err(e) => {
766                    panic!(
767                        "method lookup failed: {}
768::{}
769: {}
770",
771                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
772                        "PerformComparison",
773                        e
774                    )
775                },
776            }
777        }
778    }
779    #[doc(hidden)]
780    #[allow(non_snake_case)]
781    pub mod __lookup_multi_dispatch_less_than_or_equal {
782        use super::*;
783        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
784            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
785                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
786                <crate::system::object::Object as ::unity::IlType>::il_type(),
787            ];
788            ::unity::lookup::method_info_on_class_with_signature(
789                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
790                "MultiDispatchLessThanOrEqual",
791                2,
792                param_types,
793                false,
794            )
795        });
796        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
797            match &*METHOD {
798                ::core::result::Result::Ok(mi) => *mi,
799                ::core::result::Result::Err(e) => {
800                    panic!(
801                        "method lookup failed: {}
802::{}
803: {}
804",
805                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
806                        "MultiDispatchLessThanOrEqual",
807                        e
808                    )
809                },
810            }
811        }
812    }
813    #[doc(hidden)]
814    #[allow(non_snake_case)]
815    pub mod __lookup_multi_dispatch_less_than {
816        use super::*;
817        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
818            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
819                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
820                <crate::system::object::Object as ::unity::IlType>::il_type(),
821            ];
822            ::unity::lookup::method_info_on_class_with_signature(
823                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
824                "MultiDispatchLessThan",
825                2,
826                param_types,
827                false,
828            )
829        });
830        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
831            match &*METHOD {
832                ::core::result::Result::Ok(mi) => *mi,
833                ::core::result::Result::Err(e) => {
834                    panic!(
835                        "method lookup failed: {}
836::{}
837: {}
838",
839                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
840                        "MultiDispatchLessThan",
841                        e
842                    )
843                },
844            }
845        }
846    }
847    #[doc(hidden)]
848    #[allow(non_snake_case)]
849    pub mod __lookup_try_dispatch_length {
850        use super::*;
851        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
852            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
853                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
854                <crate::system::object::Object as ::unity::IlType>::il_type(),
855            ];
856            ::unity::lookup::method_info_on_class_with_signature(
857                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
858                "TryDispatchLength",
859                2,
860                param_types,
861                false,
862            )
863        });
864        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
865            match &*METHOD {
866                ::core::result::Result::Ok(mi) => *mi,
867                ::core::result::Result::Err(e) => {
868                    panic!(
869                        "method lookup failed: {}
870::{}
871: {}
872",
873                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
874                        "TryDispatchLength",
875                        e
876                    )
877                },
878            }
879        }
880    }
881    #[doc(hidden)]
882    #[allow(non_snake_case)]
883    pub mod __lookup_multi_dispatch_equal {
884        use super::*;
885        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
886            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
887                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
888                <crate::system::object::Object as ::unity::IlType>::il_type(),
889            ];
890            ::unity::lookup::method_info_on_class_with_signature(
891                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
892                "MultiDispatchEqual",
893                2,
894                param_types,
895                false,
896            )
897        });
898        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
899            match &*METHOD {
900                ::core::result::Result::Ok(mi) => *mi,
901                ::core::result::Result::Err(e) => {
902                    panic!(
903                        "method lookup failed: {}
904::{}
905: {}
906",
907                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
908                        "MultiDispatchEqual",
909                        e
910                    )
911                },
912            }
913        }
914    }
915    #[doc(hidden)]
916    #[allow(non_snake_case)]
917    pub mod __lookup_check_equality {
918        use super::*;
919        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
920            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
921                <crate::system::object::Object as ::unity::IlType>::il_type(),
922                <crate::system::object::Object as ::unity::IlType>::il_type(),
923                <crate::system::object::Object as ::unity::IlType>::il_type(),
924            ];
925            ::unity::lookup::method_info_on_class_with_signature(
926                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
927                "CheckEquality",
928                3,
929                param_types,
930                false,
931            )
932        });
933        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
934            match &*METHOD {
935                ::core::result::Result::Ok(mi) => *mi,
936                ::core::result::Result::Err(e) => {
937                    panic!(
938                        "method lookup failed: {}
939::{}
940: {}
941",
942                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
943                        "CheckEquality",
944                        e
945                    )
946                },
947            }
948        }
949    }
950    #[doc(hidden)]
951    #[allow(non_snake_case)]
952    pub mod __lookup_dispatch_meta_on_method {
953        use super::*;
954        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
955            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
956                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
957                <crate::system::object::Object as ::unity::IlType>::il_type(),
958                <::unity::Il2CppString as ::unity::IlType>::il_type(),
959            ];
960            ::unity::lookup::method_info_on_class_with_signature(
961                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
962                "DispatchMetaOnMethod",
963                3,
964                param_types,
965                false,
966            )
967        });
968        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
969            match &*METHOD {
970                ::core::result::Result::Ok(mi) => *mi,
971                ::core::result::Result::Err(e) => {
972                    panic!(
973                        "method lookup failed: {}
974::{}
975: {}
976",
977                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
978                        "DispatchMetaOnMethod",
979                        e
980                    )
981                },
982            }
983        }
984    }
985    #[doc(hidden)]
986    #[allow(non_snake_case)]
987    pub mod __lookup_try_dispatch_to_number {
988        use super::*;
989        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
990            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
991                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
992                <crate::system::object::Object as ::unity::IlType>::il_type(),
993            ];
994            ::unity::lookup::method_info_on_class_with_signature(
995                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
996                "TryDispatchToNumber",
997                2,
998                param_types,
999                false,
1000            )
1001        });
1002        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1003            match &*METHOD {
1004                ::core::result::Result::Ok(mi) => *mi,
1005                ::core::result::Result::Err(e) => {
1006                    panic!(
1007                        "method lookup failed: {}
1008::{}
1009: {}
1010",
1011                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1012                        "TryDispatchToNumber",
1013                        e
1014                    )
1015                },
1016            }
1017        }
1018    }
1019    #[doc(hidden)]
1020    #[allow(non_snake_case)]
1021    pub mod __lookup_try_dispatch_to_bool {
1022        use super::*;
1023        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
1024            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
1025                <crate::moon_sharp::interpreter::script::Script as ::unity::IlType>::il_type(),
1026                <crate::system::object::Object as ::unity::IlType>::il_type(),
1027            ];
1028            ::unity::lookup::method_info_on_class_with_signature(
1029                <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::class(),
1030                "TryDispatchToBool",
1031                2,
1032                param_types,
1033                false,
1034            )
1035        });
1036        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1037            match &*METHOD {
1038                ::core::result::Result::Ok(mi) => *mi,
1039                ::core::result::Result::Err(e) => {
1040                    panic!(
1041                        "method lookup failed: {}
1042::{}
1043: {}
1044",
1045                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1046                        "TryDispatchToBool",
1047                        e
1048                    )
1049                },
1050            }
1051        }
1052    }
1053}
1054
1055#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
1056impl DispatchingUserDataDescriptor {
1057    #[doc = "`Camelify(::unity::Il2CppString)` overload"]
1058    pub fn camelify(name: impl ::core::convert::Into<::unity::Il2CppString>) -> ::unity::Il2CppString {
1059        unsafe {
1060            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_camelify::get_method_info().method_ptr, ::unity::Il2CppString;
1061(::unity::Il2CppString)::core::convert::Into::into(name))
1062        }
1063    }
1064
1065    #[doc = "`UpperFirstLetter(::unity::Il2CppString)` overload"]
1066    pub fn upper_first_letter(name: impl ::core::convert::Into<::unity::Il2CppString>) -> ::unity::Il2CppString {
1067        unsafe {
1068            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_upper_first_letter::get_method_info().method_ptr, ::unity::Il2CppString;
1069(::unity::Il2CppString)::core::convert::Into::into(name))
1070        }
1071    }
1072}
1073
1074#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
1075pub trait IDispatchingUserDataDescriptorMethods: IDispatchingUserDataDescriptor {
1076    #[doc = "`get_Name()` overload"]
1077    fn get_name(self) -> ::unity::Il2CppString {
1078        unsafe {
1079            let __receiver =
1080                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1081            {
1082                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1083                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
1084                    panic!(
1085                        "unity: virtual slot {}
1086 out of range (vtable len {}
1087) on the runtime class behind {}
1088 (method `{}
1089`)",
1090                        4usize,
1091                        __vt.len(),
1092                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1093                        "get_Name",
1094                    )
1095                });
1096                let __inner: extern "C" fn(DispatchingUserDataDescriptor, ::unity::OptionalMethod) -> ::unity::Il2CppString =
1097                    ::core::mem::transmute(__vi.method_ptr);
1098                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1099                __inner(__receiver, __mi)
1100            }
1101        }
1102    }
1103    #[doc = "`set_Name(::unity::Il2CppString)` overload"]
1104    fn set_name(self, value: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1105        unsafe {
1106            let __receiver =
1107                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1108            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_set_name::get_method_info().method_ptr,();
1109(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(value))
1110        }
1111    }
1112    #[doc = "`get_Type()` overload"]
1113    fn get_type(self) -> ::unity::SystemType {
1114        unsafe {
1115            let __receiver =
1116                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1117            {
1118                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1119                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
1120                    panic!(
1121                        "unity: virtual slot {}
1122 out of range (vtable len {}
1123) on the runtime class behind {}
1124 (method `{}
1125`)",
1126                        5usize,
1127                        __vt.len(),
1128                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1129                        "get_Type",
1130                    )
1131                });
1132                let __inner: extern "C" fn(DispatchingUserDataDescriptor, ::unity::OptionalMethod) -> ::unity::SystemType =
1133                    ::core::mem::transmute(__vi.method_ptr);
1134                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1135                __inner(__receiver, __mi)
1136            }
1137        }
1138    }
1139    #[doc = "`set_Type(::unity::SystemType)` overload"]
1140    fn set_type(self, value: impl ::core::convert::Into<::unity::SystemType>) -> () {
1141        unsafe {
1142            let __receiver =
1143                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1144            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_set_type::get_method_info().method_ptr,();
1145(DispatchingUserDataDescriptor)__receiver,(::unity::SystemType)::core::convert::Into::into(value))
1146        }
1147    }
1148    #[doc = "`get_FriendlyName()` overload"]
1149    fn get_friendly_name(self) -> ::unity::Il2CppString {
1150        unsafe {
1151            let __receiver =
1152                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1153            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_get_friendly_name::get_method_info().method_ptr, ::unity::Il2CppString;
1154(DispatchingUserDataDescriptor)__receiver)
1155        }
1156    }
1157    #[doc = "`set_FriendlyName(::unity::Il2CppString)` overload"]
1158    fn set_friendly_name(self, value: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1159        unsafe {
1160            let __receiver =
1161                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1162            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_set_friendly_name::get_method_info().method_ptr,();
1163(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(value))
1164        }
1165    }
1166    #[doc = "`.ctor(::unity::SystemType, ::unity::Il2CppString)` overload"]
1167    fn ctor(self, r#type: impl ::core::convert::Into<::unity::SystemType>, friendly_name: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1168        unsafe {
1169            let __receiver =
1170                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1171            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
1172(DispatchingUserDataDescriptor)__receiver,(::unity::SystemType)::core::convert::Into::into(r#type),(::unity::Il2CppString)::core::convert::Into::into(friendly_name))
1173        }
1174    }
1175    #[doc = "`AddMetaMember(::unity::Il2CppString, crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)` overload"]
1176    fn add_meta_member(
1177        self,
1178        name: impl ::core::convert::Into<::unity::Il2CppString>,
1179        desc: impl ::core::convert::Into<
1180            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1181        >,
1182    ) -> () {
1183        unsafe {
1184            let __receiver =
1185                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1186            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_add_meta_member::get_method_info().method_ptr,();
1187(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)::core::convert::Into::into(desc))
1188        }
1189    }
1190    #[doc = "`AddDynValue(::unity::Il2CppString, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
1191    fn add_dyn_value(
1192        self,
1193        name: impl ::core::convert::Into<::unity::Il2CppString>,
1194        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1195    ) -> () {
1196        unsafe {
1197            let __receiver =
1198                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1199            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_add_dyn_value::get_method_info().method_ptr,();
1200(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(value))
1201        }
1202    }
1203    #[doc = "`AddMember(::unity::Il2CppString, crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)` overload"]
1204    fn add_member(
1205        self,
1206        name: impl ::core::convert::Into<::unity::Il2CppString>,
1207        desc: impl ::core::convert::Into<
1208            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1209        >,
1210    ) -> () {
1211        unsafe {
1212            let __receiver =
1213                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1214            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_add_member::get_method_info().method_ptr,();
1215(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(name),(crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)::core::convert::Into::into(desc))
1216        }
1217    }
1218    #[doc = "`get_MemberNames()` overload"]
1219    fn get_member_names(self) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<::unity::Il2CppString> {
1220        unsafe {
1221            let __receiver =
1222                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1223            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_get_member_names::get_method_info().method_ptr,crate::system::collections::generic::ienumerable_1::IEnumerable_1< ::unity::Il2CppString> ;
1224(DispatchingUserDataDescriptor)__receiver)
1225        }
1226    }
1227    #[doc = "`get_Members()` overload"]
1228    fn get_members(
1229        self,
1230    ) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<
1231        crate::system::collections::generic::keyvaluepair_2::KeyValuePair_2<
1232            ::unity::Il2CppString,
1233            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1234        >,
1235    > {
1236        unsafe {
1237            let __receiver =
1238                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1239            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_get_members::get_method_info().method_ptr,crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::collections::generic::keyvaluepair_2::KeyValuePair_2< ::unity::Il2CppString,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface> > ;
1240(DispatchingUserDataDescriptor)__receiver)
1241        }
1242    }
1243    #[doc = "`FindMember(::unity::Il2CppString)` overload"]
1244    fn find_member(
1245        self,
1246        member_name: impl ::core::convert::Into<::unity::Il2CppString>,
1247    ) -> crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface {
1248        unsafe {
1249            let __receiver =
1250                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1251            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_find_member::get_method_info().method_ptr,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface;
1252(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(member_name))
1253        }
1254    }
1255    #[doc = "`RemoveMember(::unity::Il2CppString)` overload"]
1256    fn remove_member(self, member_name: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1257        unsafe {
1258            let __receiver =
1259                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1260            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_remove_member::get_method_info().method_ptr,();
1261(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(member_name))
1262        }
1263    }
1264    #[doc = "`get_MetaMemberNames()` overload"]
1265    fn get_meta_member_names(self) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<::unity::Il2CppString> {
1266        unsafe {
1267            let __receiver =
1268                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1269            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_get_meta_member_names::get_method_info().method_ptr,crate::system::collections::generic::ienumerable_1::IEnumerable_1< ::unity::Il2CppString> ;
1270(DispatchingUserDataDescriptor)__receiver)
1271        }
1272    }
1273    #[doc = "`get_MetaMembers()` overload"]
1274    fn get_meta_members(
1275        self,
1276    ) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<
1277        crate::system::collections::generic::keyvaluepair_2::KeyValuePair_2<
1278            ::unity::Il2CppString,
1279            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1280        >,
1281    > {
1282        unsafe {
1283            let __receiver =
1284                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1285            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_get_meta_members::get_method_info().method_ptr,crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::collections::generic::keyvaluepair_2::KeyValuePair_2< ::unity::Il2CppString,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface> > ;
1286(DispatchingUserDataDescriptor)__receiver)
1287        }
1288    }
1289    #[doc = "`FindMetaMember(::unity::Il2CppString)` overload"]
1290    fn find_meta_member(
1291        self,
1292        member_name: impl ::core::convert::Into<::unity::Il2CppString>,
1293    ) -> crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface {
1294        unsafe {
1295            let __receiver =
1296                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1297            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_find_meta_member::get_method_info().method_ptr,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface;
1298(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(member_name))
1299        }
1300    }
1301    #[doc = "`RemoveMetaMember(::unity::Il2CppString)` overload"]
1302    fn remove_meta_member(self, member_name: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
1303        unsafe {
1304            let __receiver =
1305                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1306            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_remove_meta_member::get_method_info().method_ptr,();
1307(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(member_name))
1308        }
1309    }
1310    #[doc = "`AddMemberTo(crate::system::collections::generic::dictionary_2::Dictionary_2<::unity::Il2CppString,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface>, ::unity::Il2CppString, crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)` overload"]
1311    fn add_member_to(
1312        self,
1313        members: impl ::core::convert::Into<
1314            crate::system::collections::generic::dictionary_2::Dictionary_2<
1315                ::unity::Il2CppString,
1316                crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1317            >,
1318        >,
1319        name: impl ::core::convert::Into<::unity::Il2CppString>,
1320        desc: impl ::core::convert::Into<
1321            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1322        >,
1323    ) -> () {
1324        unsafe {
1325            let __receiver =
1326                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1327            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_add_member_to::get_method_info().method_ptr,();
1328(DispatchingUserDataDescriptor)__receiver,(crate::system::collections::generic::dictionary_2::Dictionary_2< ::unity::Il2CppString,crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface>)::core::convert::Into::into(members),(::unity::Il2CppString)::core::convert::Into::into(name),(crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface)::core::convert::Into::into(desc))
1329        }
1330    }
1331    #[doc = "`Index(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue, bool)` overload"]
1332    fn index(
1333        self,
1334        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1335        obj: impl ::core::convert::Into<crate::system::object::Object>,
1336        index: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1337        is_direct_indexing: impl ::core::convert::Into<bool>,
1338    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1339        unsafe {
1340            let __receiver =
1341                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1342            {
1343                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1344                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
1345                    panic!(
1346                        "unity: virtual slot {}
1347 out of range (vtable len {}
1348) on the runtime class behind {}
1349 (method `{}
1350`)",
1351                        12usize,
1352                        __vt.len(),
1353                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1354                        "Index",
1355                    )
1356                });
1357                let __inner: extern "C" fn(
1358                    DispatchingUserDataDescriptor,
1359                    crate::moon_sharp::interpreter::script::Script,
1360                    crate::system::object::Object,
1361                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1362                    bool,
1363                    ::unity::OptionalMethod,
1364                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
1365                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1366                __inner(
1367                    __receiver,
1368                    ::core::convert::Into::into(script),
1369                    ::core::convert::Into::into(obj),
1370                    ::core::convert::Into::into(index),
1371                    ::core::convert::Into::into(is_direct_indexing),
1372                    __mi,
1373                )
1374            }
1375        }
1376    }
1377    #[doc = "`TryIndexOnExtMethod(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString)` overload"]
1378    fn try_index_on_ext_method(
1379        self,
1380        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1381        obj: impl ::core::convert::Into<crate::system::object::Object>,
1382        index_name: impl ::core::convert::Into<::unity::Il2CppString>,
1383    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1384        unsafe {
1385            let __receiver =
1386                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1387            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_try_index_on_ext_method::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1388(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj),(::unity::Il2CppString)::core::convert::Into::into(index_name))
1389        }
1390    }
1391    #[doc = "`HasMember(::unity::Il2CppString)` overload"]
1392    fn has_member(self, exact_name: impl ::core::convert::Into<::unity::Il2CppString>) -> bool {
1393        unsafe {
1394            let __receiver =
1395                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1396            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_has_member::get_method_info().method_ptr,bool;
1397(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(exact_name))
1398        }
1399    }
1400    #[doc = "`HasMetaMember(::unity::Il2CppString)` overload"]
1401    fn has_meta_member(self, exact_name: impl ::core::convert::Into<::unity::Il2CppString>) -> bool {
1402        unsafe {
1403            let __receiver =
1404                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1405            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_has_meta_member::get_method_info().method_ptr,bool;
1406(DispatchingUserDataDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(exact_name))
1407        }
1408    }
1409    #[doc = "`TryIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString)` overload"]
1410    fn try_index(
1411        self,
1412        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1413        obj: impl ::core::convert::Into<crate::system::object::Object>,
1414        index_name: impl ::core::convert::Into<::unity::Il2CppString>,
1415    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1416        unsafe {
1417            let __receiver =
1418                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1419            {
1420                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1421                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
1422                    panic!(
1423                        "unity: virtual slot {}
1424 out of range (vtable len {}
1425) on the runtime class behind {}
1426 (method `{}
1427`)",
1428                        13usize,
1429                        __vt.len(),
1430                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1431                        "TryIndex",
1432                    )
1433                });
1434                let __inner: extern "C" fn(
1435                    DispatchingUserDataDescriptor,
1436                    crate::moon_sharp::interpreter::script::Script,
1437                    crate::system::object::Object,
1438                    ::unity::Il2CppString,
1439                    ::unity::OptionalMethod,
1440                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
1441                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1442                __inner(
1443                    __receiver,
1444                    ::core::convert::Into::into(script),
1445                    ::core::convert::Into::into(obj),
1446                    ::core::convert::Into::into(index_name),
1447                    __mi,
1448                )
1449            }
1450        }
1451    }
1452    #[doc = "`SetIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue, bool)` overload"]
1453    fn set_index(
1454        self,
1455        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1456        obj: impl ::core::convert::Into<crate::system::object::Object>,
1457        index: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1458        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1459        is_direct_indexing: impl ::core::convert::Into<bool>,
1460    ) -> bool {
1461        unsafe {
1462            let __receiver =
1463                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1464            {
1465                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1466                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
1467                    panic!(
1468                        "unity: virtual slot {}
1469 out of range (vtable len {}
1470) on the runtime class behind {}
1471 (method `{}
1472`)",
1473                        14usize,
1474                        __vt.len(),
1475                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1476                        "SetIndex",
1477                    )
1478                });
1479                let __inner: extern "C" fn(
1480                    DispatchingUserDataDescriptor,
1481                    crate::moon_sharp::interpreter::script::Script,
1482                    crate::system::object::Object,
1483                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1484                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1485                    bool,
1486                    ::unity::OptionalMethod,
1487                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
1488                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1489                __inner(
1490                    __receiver,
1491                    ::core::convert::Into::into(script),
1492                    ::core::convert::Into::into(obj),
1493                    ::core::convert::Into::into(index),
1494                    ::core::convert::Into::into(value),
1495                    ::core::convert::Into::into(is_direct_indexing),
1496                    __mi,
1497                )
1498            }
1499        }
1500    }
1501    #[doc = "`TrySetIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
1502    fn try_set_index(
1503        self,
1504        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1505        obj: impl ::core::convert::Into<crate::system::object::Object>,
1506        index_name: impl ::core::convert::Into<::unity::Il2CppString>,
1507        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1508    ) -> bool {
1509        unsafe {
1510            let __receiver =
1511                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1512            {
1513                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1514                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
1515                    panic!(
1516                        "unity: virtual slot {}
1517 out of range (vtable len {}
1518) on the runtime class behind {}
1519 (method `{}
1520`)",
1521                        15usize,
1522                        __vt.len(),
1523                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1524                        "TrySetIndex",
1525                    )
1526                });
1527                let __inner: extern "C" fn(
1528                    DispatchingUserDataDescriptor,
1529                    crate::moon_sharp::interpreter::script::Script,
1530                    crate::system::object::Object,
1531                    ::unity::Il2CppString,
1532                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1533                    ::unity::OptionalMethod,
1534                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
1535                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1536                __inner(
1537                    __receiver,
1538                    ::core::convert::Into::into(script),
1539                    ::core::convert::Into::into(obj),
1540                    ::core::convert::Into::into(index_name),
1541                    ::core::convert::Into::into(value),
1542                    __mi,
1543                )
1544            }
1545        }
1546    }
1547    #[doc = "`MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize()` overload"]
1548    fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(self) -> () {
1549        unsafe {
1550            let __receiver =
1551                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1552            {
1553                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1554                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
1555                    panic!(
1556                        "unity: virtual slot {}
1557 out of range (vtable len {}
1558) on the runtime class behind {}
1559 (method `{}
1560`)",
1561                        11usize,
1562                        __vt.len(),
1563                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1564                        "MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize",
1565                    )
1566                });
1567                let __inner: extern "C" fn(DispatchingUserDataDescriptor, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1568                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1569                __inner(__receiver, __mi)
1570            }
1571        }
1572    }
1573    #[doc = "`AsString(crate::system::object::Object)` overload"]
1574    fn as_string(self, obj: impl ::core::convert::Into<crate::system::object::Object>) -> ::unity::Il2CppString {
1575        unsafe {
1576            let __receiver =
1577                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1578            {
1579                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1580                let __vi = *__vt.get(16usize).unwrap_or_else(|| {
1581                    panic!(
1582                        "unity: virtual slot {}
1583 out of range (vtable len {}
1584) on the runtime class behind {}
1585 (method `{}
1586`)",
1587                        16usize,
1588                        __vt.len(),
1589                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1590                        "AsString",
1591                    )
1592                });
1593                let __inner: extern "C" fn(
1594                    DispatchingUserDataDescriptor,
1595                    crate::system::object::Object,
1596                    ::unity::OptionalMethod,
1597                ) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
1598                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1599                __inner(__receiver, ::core::convert::Into::into(obj), __mi)
1600            }
1601        }
1602    }
1603    #[doc = "`ExecuteIndexer(crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface, crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
1604    fn execute_indexer(
1605        self,
1606        mdesc: impl ::core::convert::Into<
1607            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1608        >,
1609        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1610        obj: impl ::core::convert::Into<crate::system::object::Object>,
1611        index: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1612        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
1613    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1614        unsafe {
1615            let __receiver =
1616                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1617            {
1618                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1619                let __vi = *__vt.get(17usize).unwrap_or_else(|| {
1620                    panic!(
1621                        "unity: virtual slot {}
1622 out of range (vtable len {}
1623) on the runtime class behind {}
1624 (method `{}
1625`)",
1626                        17usize,
1627                        __vt.len(),
1628                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1629                        "ExecuteIndexer",
1630                    )
1631                });
1632                let __inner: extern "C" fn(
1633                    DispatchingUserDataDescriptor,
1634                    crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
1635                    crate::moon_sharp::interpreter::script::Script,
1636                    crate::system::object::Object,
1637                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1638                    crate::moon_sharp::interpreter::dynvalue::DynValue,
1639                    ::unity::OptionalMethod,
1640                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
1641                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1642                __inner(
1643                    __receiver,
1644                    ::core::convert::Into::into(mdesc),
1645                    ::core::convert::Into::into(script),
1646                    ::core::convert::Into::into(obj),
1647                    ::core::convert::Into::into(index),
1648                    ::core::convert::Into::into(value),
1649                    __mi,
1650                )
1651            }
1652        }
1653    }
1654    #[doc = "`MetaIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString)` overload"]
1655    fn meta_index(
1656        self,
1657        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1658        obj: impl ::core::convert::Into<crate::system::object::Object>,
1659        metaname: impl ::core::convert::Into<::unity::Il2CppString>,
1660    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1661        unsafe {
1662            let __receiver =
1663                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1664            {
1665                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1666                let __vi = *__vt.get(18usize).unwrap_or_else(|| {
1667                    panic!(
1668                        "unity: virtual slot {}
1669 out of range (vtable len {}
1670) on the runtime class behind {}
1671 (method `{}
1672`)",
1673                        18usize,
1674                        __vt.len(),
1675                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1676                        "MetaIndex",
1677                    )
1678                });
1679                let __inner: extern "C" fn(
1680                    DispatchingUserDataDescriptor,
1681                    crate::moon_sharp::interpreter::script::Script,
1682                    crate::system::object::Object,
1683                    ::unity::Il2CppString,
1684                    ::unity::OptionalMethod,
1685                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
1686                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1687                __inner(
1688                    __receiver,
1689                    ::core::convert::Into::into(script),
1690                    ::core::convert::Into::into(obj),
1691                    ::core::convert::Into::into(metaname),
1692                    __mi,
1693                )
1694            }
1695        }
1696    }
1697    #[doc = "`PerformComparison(crate::system::object::Object, crate::system::object::Object, crate::system::object::Object)` overload"]
1698    fn perform_comparison(
1699        self,
1700        obj: impl ::core::convert::Into<crate::system::object::Object>,
1701        p1: impl ::core::convert::Into<crate::system::object::Object>,
1702        p2: impl ::core::convert::Into<crate::system::object::Object>,
1703    ) -> i32 {
1704        unsafe {
1705            let __receiver =
1706                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1707            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_perform_comparison::get_method_info().method_ptr,i32;
1708(DispatchingUserDataDescriptor)__receiver,(crate::system::object::Object)::core::convert::Into::into(obj),(crate::system::object::Object)::core::convert::Into::into(p1),(crate::system::object::Object)::core::convert::Into::into(p2))
1709        }
1710    }
1711    #[doc = "`MultiDispatchLessThanOrEqual(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1712    fn multi_dispatch_less_than_or_equal(
1713        self,
1714        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1715        obj: impl ::core::convert::Into<crate::system::object::Object>,
1716    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1717        unsafe {
1718            let __receiver =
1719                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1720            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_multi_dispatch_less_than_or_equal::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1721(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1722        }
1723    }
1724    #[doc = "`MultiDispatchLessThan(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1725    fn multi_dispatch_less_than(
1726        self,
1727        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1728        obj: impl ::core::convert::Into<crate::system::object::Object>,
1729    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1730        unsafe {
1731            let __receiver =
1732                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1733            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_multi_dispatch_less_than::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1734(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1735        }
1736    }
1737    #[doc = "`TryDispatchLength(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1738    fn try_dispatch_length(
1739        self,
1740        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1741        obj: impl ::core::convert::Into<crate::system::object::Object>,
1742    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1743        unsafe {
1744            let __receiver =
1745                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1746            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_try_dispatch_length::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1747(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1748        }
1749    }
1750    #[doc = "`MultiDispatchEqual(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1751    fn multi_dispatch_equal(
1752        self,
1753        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1754        obj: impl ::core::convert::Into<crate::system::object::Object>,
1755    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1756        unsafe {
1757            let __receiver =
1758                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1759            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_multi_dispatch_equal::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1760(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1761        }
1762    }
1763    #[doc = "`CheckEquality(crate::system::object::Object, crate::system::object::Object, crate::system::object::Object)` overload"]
1764    fn check_equality(
1765        self,
1766        obj: impl ::core::convert::Into<crate::system::object::Object>,
1767        p1: impl ::core::convert::Into<crate::system::object::Object>,
1768        p2: impl ::core::convert::Into<crate::system::object::Object>,
1769    ) -> bool {
1770        unsafe {
1771            let __receiver =
1772                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1773            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_check_equality::get_method_info().method_ptr,bool;
1774(DispatchingUserDataDescriptor)__receiver,(crate::system::object::Object)::core::convert::Into::into(obj),(crate::system::object::Object)::core::convert::Into::into(p1),(crate::system::object::Object)::core::convert::Into::into(p2))
1775        }
1776    }
1777    #[doc = "`DispatchMetaOnMethod(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString)` overload"]
1778    fn dispatch_meta_on_method(
1779        self,
1780        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1781        obj: impl ::core::convert::Into<crate::system::object::Object>,
1782        method_name: impl ::core::convert::Into<::unity::Il2CppString>,
1783    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1784        unsafe {
1785            let __receiver =
1786                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1787            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_dispatch_meta_on_method::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1788(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj),(::unity::Il2CppString)::core::convert::Into::into(method_name))
1789        }
1790    }
1791    #[doc = "`TryDispatchToNumber(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1792    fn try_dispatch_to_number(
1793        self,
1794        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1795        obj: impl ::core::convert::Into<crate::system::object::Object>,
1796    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1797        unsafe {
1798            let __receiver =
1799                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1800            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_try_dispatch_to_number::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1801(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1802        }
1803    }
1804    #[doc = "`TryDispatchToBool(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
1805    fn try_dispatch_to_bool(
1806        self,
1807        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
1808        obj: impl ::core::convert::Into<crate::system::object::Object>,
1809    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1810        unsafe {
1811            let __receiver =
1812                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1813            ::unity::il2cpp_call!(__DispatchingUserDataDescriptor_unity_raw::__lookup_try_dispatch_to_bool::get_method_info().method_ptr,crate::moon_sharp::interpreter::dynvalue::DynValue;
1814(DispatchingUserDataDescriptor)__receiver,(crate::moon_sharp::interpreter::script::Script)::core::convert::Into::into(script),(crate::system::object::Object)::core::convert::Into::into(obj))
1815        }
1816    }
1817    #[doc = "`IsTypeCompatible(::unity::SystemType, crate::system::object::Object)` overload"]
1818    fn is_type_compatible(
1819        self,
1820        r#type: impl ::core::convert::Into<::unity::SystemType>,
1821        obj: impl ::core::convert::Into<crate::system::object::Object>,
1822    ) -> bool {
1823        unsafe {
1824            let __receiver =
1825                <DispatchingUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1826            {
1827                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1828                let __vi = *__vt.get(19usize).unwrap_or_else(|| {
1829                    panic!(
1830                        "unity: virtual slot {}
1831 out of range (vtable len {}
1832) on the runtime class behind {}
1833 (method `{}
1834`)",
1835                        19usize,
1836                        __vt.len(),
1837                        <DispatchingUserDataDescriptor as ::unity::ClassIdentity>::NAME,
1838                        "IsTypeCompatible",
1839                    )
1840                });
1841                let __inner: extern "C" fn(
1842                    DispatchingUserDataDescriptor,
1843                    ::unity::SystemType,
1844                    crate::system::object::Object,
1845                    ::unity::OptionalMethod,
1846                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
1847                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1848                __inner(__receiver, ::core::convert::Into::into(r#type), ::core::convert::Into::into(obj), __mi)
1849            }
1850        }
1851    }
1852}
1853
1854#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
1855impl<__T: IDispatchingUserDataDescriptor> IDispatchingUserDataDescriptorMethods for __T {}
1856
1857#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
1858impl DispatchingUserDataDescriptor {
1859    pub fn get_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1860        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1861    }
1862
1863    pub fn set_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1864        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1865    }
1866
1867    pub fn get_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1868        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1869    }
1870
1871    pub fn set_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1872        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1873    }
1874
1875    pub fn get_friendly_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1876        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1877    }
1878
1879    pub fn set_friendly_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1880        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1881    }
1882
1883    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1884        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1885    }
1886
1887    pub fn add_meta_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1888        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1889    }
1890
1891    pub fn add_dyn_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1892        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1893    }
1894
1895    pub fn add_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1896        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1897    }
1898
1899    pub fn get_member_names_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1900        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1901    }
1902
1903    pub fn get_members_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1904        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1905    }
1906
1907    pub fn find_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1908        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1909    }
1910
1911    pub fn remove_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1912        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
1913    }
1914
1915    pub fn get_meta_member_names_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1916        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
1917    }
1918
1919    pub fn get_meta_members_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1920        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
1921    }
1922
1923    pub fn find_meta_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1924        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
1925    }
1926
1927    pub fn remove_meta_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1928        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
1929    }
1930
1931    pub fn add_member_to_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1932        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
1933    }
1934
1935    pub fn index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1936        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
1937    }
1938
1939    pub fn try_index_on_ext_method_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1940        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
1941    }
1942
1943    pub fn has_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1944        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
1945    }
1946
1947    pub fn has_meta_member_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1948        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
1949    }
1950
1951    pub fn try_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1952        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
1953    }
1954
1955    pub fn set_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1956        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
1957    }
1958
1959    pub fn try_set_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1960        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[25]
1961    }
1962
1963    pub fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1964        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[26]
1965    }
1966
1967    pub fn camelify_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1968        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[27]
1969    }
1970
1971    pub fn upper_first_letter_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1972        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[28]
1973    }
1974
1975    pub fn as_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1976        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[29]
1977    }
1978
1979    pub fn execute_indexer_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1980        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[30]
1981    }
1982
1983    pub fn meta_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1984        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[31]
1985    }
1986
1987    pub fn perform_comparison_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1988        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[32]
1989    }
1990
1991    pub fn multi_dispatch_less_than_or_equal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1992        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[33]
1993    }
1994
1995    pub fn multi_dispatch_less_than_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1996        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[34]
1997    }
1998
1999    pub fn try_dispatch_length_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2000        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[35]
2001    }
2002
2003    pub fn multi_dispatch_equal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2004        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[36]
2005    }
2006
2007    pub fn check_equality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2008        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[37]
2009    }
2010
2011    pub fn dispatch_meta_on_method_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2012        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[38]
2013    }
2014
2015    pub fn try_dispatch_to_number_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2016        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[39]
2017    }
2018
2019    pub fn try_dispatch_to_bool_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2020        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[40]
2021    }
2022
2023    pub fn is_type_compatible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2024        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[41]
2025    }
2026}
2027
2028#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
2029impl DispatchingUserDataDescriptor {
2030    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `get_Name`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2031    pub unsafe fn get_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
2032        let __mi = Self::get_name_method_info();
2033        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
2034        __inner(this.into(), ::core::option::Option::None)
2035    }
2036
2037    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `get_Type`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2038    pub unsafe fn get_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
2039        let __mi = Self::get_type_method_info();
2040        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
2041        __inner(this.into(), ::core::option::Option::None)
2042    }
2043
2044    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `Index`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2045    pub unsafe fn index(
2046        this: impl ::core::convert::Into<::unity::IlInstance>,
2047        script: crate::moon_sharp::interpreter::script::Script,
2048        obj: crate::system::object::Object,
2049        index: crate::moon_sharp::interpreter::dynvalue::DynValue,
2050        is_direct_indexing: bool,
2051    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
2052        let __mi = Self::index_method_info();
2053        let __inner: extern "C" fn(
2054            ::unity::IlInstance,
2055            crate::moon_sharp::interpreter::script::Script,
2056            crate::system::object::Object,
2057            crate::moon_sharp::interpreter::dynvalue::DynValue,
2058            bool,
2059            ::unity::OptionalMethod,
2060        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
2061        __inner(this.into(), script, obj, index, is_direct_indexing, ::core::option::Option::None)
2062    }
2063
2064    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `TryIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2065    pub unsafe fn try_index(
2066        this: impl ::core::convert::Into<::unity::IlInstance>,
2067        script: crate::moon_sharp::interpreter::script::Script,
2068        obj: crate::system::object::Object,
2069        index_name: ::unity::Il2CppString,
2070    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
2071        let __mi = Self::try_index_method_info();
2072        let __inner: extern "C" fn(
2073            ::unity::IlInstance,
2074            crate::moon_sharp::interpreter::script::Script,
2075            crate::system::object::Object,
2076            ::unity::Il2CppString,
2077            ::unity::OptionalMethod,
2078        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
2079        __inner(this.into(), script, obj, index_name, ::core::option::Option::None)
2080    }
2081
2082    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `SetIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2083    pub unsafe fn set_index(
2084        this: impl ::core::convert::Into<::unity::IlInstance>,
2085        script: crate::moon_sharp::interpreter::script::Script,
2086        obj: crate::system::object::Object,
2087        index: crate::moon_sharp::interpreter::dynvalue::DynValue,
2088        value: crate::moon_sharp::interpreter::dynvalue::DynValue,
2089        is_direct_indexing: bool,
2090    ) -> bool {
2091        let __mi = Self::set_index_method_info();
2092        let __inner: extern "C" fn(
2093            ::unity::IlInstance,
2094            crate::moon_sharp::interpreter::script::Script,
2095            crate::system::object::Object,
2096            crate::moon_sharp::interpreter::dynvalue::DynValue,
2097            crate::moon_sharp::interpreter::dynvalue::DynValue,
2098            bool,
2099            ::unity::OptionalMethod,
2100        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
2101        __inner(this.into(), script, obj, index, value, is_direct_indexing, ::core::option::Option::None)
2102    }
2103
2104    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `TrySetIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2105    pub unsafe fn try_set_index(
2106        this: impl ::core::convert::Into<::unity::IlInstance>,
2107        script: crate::moon_sharp::interpreter::script::Script,
2108        obj: crate::system::object::Object,
2109        index_name: ::unity::Il2CppString,
2110        value: crate::moon_sharp::interpreter::dynvalue::DynValue,
2111    ) -> bool {
2112        let __mi = Self::try_set_index_method_info();
2113        let __inner: extern "C" fn(
2114            ::unity::IlInstance,
2115            crate::moon_sharp::interpreter::script::Script,
2116            crate::system::object::Object,
2117            ::unity::Il2CppString,
2118            crate::moon_sharp::interpreter::dynvalue::DynValue,
2119            ::unity::OptionalMethod,
2120        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
2121        __inner(this.into(), script, obj, index_name, value, ::core::option::Option::None)
2122    }
2123
2124    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2125    pub unsafe fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(
2126        this: impl ::core::convert::Into<::unity::IlInstance>,
2127    ) -> () {
2128        let __mi = Self::moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info();
2129        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
2130        __inner(this.into(), ::core::option::Option::None)
2131    }
2132
2133    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `AsString`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2134    pub unsafe fn as_string(this: impl ::core::convert::Into<::unity::IlInstance>, obj: crate::system::object::Object) -> ::unity::Il2CppString {
2135        let __mi = Self::as_string_method_info();
2136        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> ::unity::Il2CppString =
2137            ::core::mem::transmute(__mi.method_ptr);
2138        __inner(this.into(), obj, ::core::option::Option::None)
2139    }
2140
2141    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `ExecuteIndexer`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2142    pub unsafe fn execute_indexer(
2143        this: impl ::core::convert::Into<::unity::IlInstance>,
2144        mdesc: crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
2145        script: crate::moon_sharp::interpreter::script::Script,
2146        obj: crate::system::object::Object,
2147        index: crate::moon_sharp::interpreter::dynvalue::DynValue,
2148        value: crate::moon_sharp::interpreter::dynvalue::DynValue,
2149    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
2150        let __mi = Self::execute_indexer_method_info();
2151        let __inner: extern "C" fn(
2152            ::unity::IlInstance,
2153            crate::moon_sharp::interpreter::interop::basic_descriptors::imemberdescriptor_interface::IMemberDescriptor_Interface,
2154            crate::moon_sharp::interpreter::script::Script,
2155            crate::system::object::Object,
2156            crate::moon_sharp::interpreter::dynvalue::DynValue,
2157            crate::moon_sharp::interpreter::dynvalue::DynValue,
2158            ::unity::OptionalMethod,
2159        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
2160        __inner(this.into(), mdesc, script, obj, index, value, ::core::option::Option::None)
2161    }
2162
2163    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `MetaIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2164    pub unsafe fn meta_index(
2165        this: impl ::core::convert::Into<::unity::IlInstance>,
2166        script: crate::moon_sharp::interpreter::script::Script,
2167        obj: crate::system::object::Object,
2168        metaname: ::unity::Il2CppString,
2169    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
2170        let __mi = Self::meta_index_method_info();
2171        let __inner: extern "C" fn(
2172            ::unity::IlInstance,
2173            crate::moon_sharp::interpreter::script::Script,
2174            crate::system::object::Object,
2175            ::unity::Il2CppString,
2176            ::unity::OptionalMethod,
2177        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
2178        __inner(this.into(), script, obj, metaname, ::core::option::Option::None)
2179    }
2180
2181    #[doc = "Direct (non-virtual) call to `DispatchingUserDataDescriptor`'s own `IsTypeCompatible`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2182    pub unsafe fn is_type_compatible(
2183        this: impl ::core::convert::Into<::unity::IlInstance>,
2184        r#type: ::unity::SystemType,
2185        obj: crate::system::object::Object,
2186    ) -> bool {
2187        let __mi = Self::is_type_compatible_method_info();
2188        let __inner: extern "C" fn(::unity::IlInstance, ::unity::SystemType, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
2189            ::core::mem::transmute(__mi.method_ptr);
2190        __inner(this.into(), r#type, obj, ::core::option::Option::None)
2191    }
2192}
2193
2194#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
2195impl DispatchingUserDataDescriptor {
2196    #[doc = "`.ctor(::unity::SystemType, ::unity::Il2CppString)` — overload selector"]
2197    pub fn new(r#type: ::unity::SystemType, friendly_name: ::unity::Il2CppString) -> Self {
2198        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
2199            panic!(
2200                "{}
2201::{}
2202 failed to instantiate",
2203                ::core::stringify!(DispatchingUserDataDescriptor),
2204                ::core::stringify!(new),
2205            )
2206        });
2207        <Self as IDispatchingUserDataDescriptorMethods>::ctor(this, r#type, friendly_name);
2208        this
2209    }
2210}
2211
2212#[cfg(feature = "moon_sharp-interpreter-interop-basic_descriptors-dispatchinguserdatadescriptor")]
2213#[doc(hidden)]
2214pub mod prelude {
2215    pub use super::{DispatchingUserDataDescriptor, IDispatchingUserDataDescriptor, IDispatchingUserDataDescriptorMethods};
2216    pub use crate::system::object::IObject;
2217    #[cfg(feature = "system-object")]
2218    pub use crate::system::object::IObjectMethods;
2219}