Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor-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/propertymemberdescriptor/PropertyMemberDescriptor.md"))]
11    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "PropertyMemberDescriptor")]
12    #[parent(crate::system::object::Object)]
13    pub struct PropertyMemberDescriptor {
14        #[offset(40)]
15        #[rename(name = "m_Getter")]
16        pub m_getter: crate::system::reflection::methodinfo::MethodInfo,
17        #[offset(48)]
18        #[rename(name = "m_Setter")]
19        pub m_setter: crate::system::reflection::methodinfo::MethodInfo,
20        #[offset(56)]
21        #[rename(name = "m_OptimizedGetter")]
22        pub m_optimized_getter: crate::system::func_2::Func_2<crate::system::object::Object, crate::system::object::Object>,
23        #[offset(64)]
24        #[rename(name = "m_OptimizedSetter")]
25        pub m_optimized_setter: crate::system::action_2::Action_2<crate::system::object::Object, crate::system::object::Object>,
26    }
27}
28
29#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor-types")]
30pub use __types::*;
31
32#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
33#[doc(hidden)]
34#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
35mod __PropertyMemberDescriptor_unity_raw {
36    use super::*;
37    #[doc(hidden)]
38    #[allow(non_snake_case)]
39    pub mod __lookup_get_property_info {
40        use super::*;
41        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
42            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
43            ::unity::lookup::method_info_on_class_with_signature(
44                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
45                "get_PropertyInfo",
46                0,
47                param_types,
48                false,
49            )
50        });
51        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
52            match &*METHOD {
53                ::core::result::Result::Ok(mi) => *mi,
54                ::core::result::Result::Err(e) => {
55                    panic!(
56                        "method lookup failed: {}
57::{}
58: {}
59",
60                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
61                        "get_PropertyInfo",
62                        e
63                    )
64                },
65            }
66        }
67    }
68    #[doc(hidden)]
69    #[allow(non_snake_case)]
70    pub mod __lookup_set_property_info {
71        use super::*;
72        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
73            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
74                &[<crate::system::reflection::propertyinfo::PropertyInfo as ::unity::IlType>::il_type()];
75            ::unity::lookup::method_info_on_class_with_signature(
76                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
77                "set_PropertyInfo",
78                1,
79                param_types,
80                false,
81            )
82        });
83        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
84            match &*METHOD {
85                ::core::result::Result::Ok(mi) => *mi,
86                ::core::result::Result::Err(e) => {
87                    panic!(
88                        "method lookup failed: {}
89::{}
90: {}
91",
92                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
93                        "set_PropertyInfo",
94                        e
95                    )
96                },
97            }
98        }
99    }
100    #[doc(hidden)]
101    #[allow(non_snake_case)]
102    pub mod __lookup_get_access_mode {
103        use super::*;
104        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
105            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
106            ::unity::lookup::method_info_on_class_with_signature(
107                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
108                "get_AccessMode",
109                0,
110                param_types,
111                false,
112            )
113        });
114        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
115            match &*METHOD {
116                ::core::result::Result::Ok(mi) => *mi,
117                ::core::result::Result::Err(e) => {
118                    panic!(
119                        "method lookup failed: {}
120::{}
121: {}
122",
123                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
124                        "get_AccessMode",
125                        e
126                    )
127                },
128            }
129        }
130    }
131    #[doc(hidden)]
132    #[allow(non_snake_case)]
133    pub mod __lookup_set_access_mode {
134        use super::*;
135        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
136            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
137                &[<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type()];
138            ::unity::lookup::method_info_on_class_with_signature(
139                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
140                "set_AccessMode",
141                1,
142                param_types,
143                false,
144            )
145        });
146        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
147            match &*METHOD {
148                ::core::result::Result::Ok(mi) => *mi,
149                ::core::result::Result::Err(e) => {
150                    panic!(
151                        "method lookup failed: {}
152::{}
153: {}
154",
155                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
156                        "set_AccessMode",
157                        e
158                    )
159                },
160            }
161        }
162    }
163    #[doc(hidden)]
164    #[allow(non_snake_case)]
165    pub mod __lookup_set_is_static {
166        use super::*;
167        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
168            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<bool as ::unity::IlType>::il_type()];
169            ::unity::lookup::method_info_on_class_with_signature(
170                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
171                "set_IsStatic",
172                1,
173                param_types,
174                false,
175            )
176        });
177        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
178            match &*METHOD {
179                ::core::result::Result::Ok(mi) => *mi,
180                ::core::result::Result::Err(e) => {
181                    panic!(
182                        "method lookup failed: {}
183::{}
184: {}
185",
186                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
187                        "set_IsStatic",
188                        e
189                    )
190                },
191            }
192        }
193    }
194    #[doc(hidden)]
195    #[allow(non_snake_case)]
196    pub mod __lookup_set_name {
197        use super::*;
198        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
199            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
200            ::unity::lookup::method_info_on_class_with_signature(
201                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
202                "set_Name",
203                1,
204                param_types,
205                false,
206            )
207        });
208        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
209            match &*METHOD {
210                ::core::result::Result::Ok(mi) => *mi,
211                ::core::result::Result::Err(e) => {
212                    panic!(
213                        "method lookup failed: {}
214::{}
215: {}
216",
217                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
218                        "set_Name",
219                        e
220                    )
221                },
222            }
223        }
224    }
225    #[doc(hidden)]
226    #[allow(non_snake_case)]
227    pub mod __lookup_get_can_read {
228        use super::*;
229        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
230            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
231            ::unity::lookup::method_info_on_class_with_signature(
232                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
233                "get_CanRead",
234                0,
235                param_types,
236                false,
237            )
238        });
239        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
240            match &*METHOD {
241                ::core::result::Result::Ok(mi) => *mi,
242                ::core::result::Result::Err(e) => {
243                    panic!(
244                        "method lookup failed: {}
245::{}
246: {}
247",
248                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
249                        "get_CanRead",
250                        e
251                    )
252                },
253            }
254        }
255    }
256    #[doc(hidden)]
257    #[allow(non_snake_case)]
258    pub mod __lookup_get_can_write {
259        use super::*;
260        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
261            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
262            ::unity::lookup::method_info_on_class_with_signature(
263                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
264                "get_CanWrite",
265                0,
266                param_types,
267                false,
268            )
269        });
270        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
271            match &*METHOD {
272                ::core::result::Result::Ok(mi) => *mi,
273                ::core::result::Result::Err(e) => {
274                    panic!(
275                        "method lookup failed: {}
276::{}
277: {}
278",
279                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
280                        "get_CanWrite",
281                        e
282                    )
283                },
284            }
285        }
286    }
287    #[doc(hidden)]
288    #[allow(non_snake_case)]
289    pub mod __lookup_try_create_if_visible {
290        use super::*;
291        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
292            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
293                <crate::system::reflection::propertyinfo::PropertyInfo as ::unity::IlType>::il_type(),
294                <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
295            ];
296            ::unity::lookup::method_info_on_class_with_signature(
297                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
298                "TryCreateIfVisible",
299                2,
300                param_types,
301                true,
302            )
303        });
304        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
305            match &*METHOD {
306                ::core::result::Result::Ok(mi) => *mi,
307                ::core::result::Result::Err(e) => {
308                    panic!(
309                        "method lookup failed: {}
310::{}
311: {}
312",
313                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
314                        "TryCreateIfVisible",
315                        e
316                    )
317                },
318            }
319        }
320    }
321    #[doc(hidden)]
322    #[allow(non_snake_case)]
323    pub mod __lookup_try_create {
324        use super::*;
325        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
326            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
327                <crate::system::reflection::propertyinfo::PropertyInfo as ::unity::IlType>::il_type(),
328                <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
329                <crate::system::reflection::methodinfo::MethodInfo as ::unity::IlType>::il_type(),
330                <crate::system::reflection::methodinfo::MethodInfo as ::unity::IlType>::il_type(),
331            ];
332            ::unity::lookup::method_info_on_class_with_signature(
333                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
334                "TryCreate",
335                4,
336                param_types,
337                true,
338            )
339        });
340        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
341            match &*METHOD {
342                ::core::result::Result::Ok(mi) => *mi,
343                ::core::result::Result::Err(e) => {
344                    panic!(
345                        "method lookup failed: {}
346::{}
347: {}
348",
349                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
350                        "TryCreate",
351                        e
352                    )
353                },
354            }
355        }
356    }
357    #[doc(hidden)]
358    #[allow(non_snake_case)]
359    pub mod __lookup_ctor {
360        use super::*;
361        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
362            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
363                <crate::system::reflection::propertyinfo::PropertyInfo as ::unity::IlType>::il_type(),
364                <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
365            ];
366            ::unity::lookup::method_info_on_class_with_signature(
367                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
368                ".ctor",
369                2,
370                param_types,
371                false,
372            )
373        });
374        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
375            match &*METHOD {
376                ::core::result::Result::Ok(mi) => *mi,
377                ::core::result::Result::Err(e) => {
378                    panic!(
379                        "method lookup failed: {}
380::{}
381: {}
382",
383                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
384                        ".ctor",
385                        e
386                    )
387                },
388            }
389        }
390    }
391    #[doc(hidden)]
392    #[allow(non_snake_case)]
393    pub mod __lookup_ctor_2 {
394        use super::*;
395        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
396            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
397                <crate::system::reflection::propertyinfo::PropertyInfo as ::unity::IlType>::il_type(),
398                <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
399                <crate::system::reflection::methodinfo::MethodInfo as ::unity::IlType>::il_type(),
400                <crate::system::reflection::methodinfo::MethodInfo as ::unity::IlType>::il_type(),
401            ];
402            ::unity::lookup::method_info_on_class_with_signature(
403                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
404                ".ctor",
405                4,
406                param_types,
407                false,
408            )
409        });
410        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
411            match &*METHOD {
412                ::core::result::Result::Ok(mi) => *mi,
413                ::core::result::Result::Err(e) => {
414                    panic!(
415                        "method lookup failed: {}
416::{}
417: {}
418",
419                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
420                        ".ctor",
421                        e
422                    )
423                },
424            }
425        }
426    }
427    #[doc(hidden)]
428    #[allow(non_snake_case)]
429    pub mod __lookup_optimize_getter {
430        use super::*;
431        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
432            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
433            ::unity::lookup::method_info_on_class_with_signature(
434                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
435                "OptimizeGetter",
436                0,
437                param_types,
438                false,
439            )
440        });
441        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
442            match &*METHOD {
443                ::core::result::Result::Ok(mi) => *mi,
444                ::core::result::Result::Err(e) => {
445                    panic!(
446                        "method lookup failed: {}
447::{}
448: {}
449",
450                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
451                        "OptimizeGetter",
452                        e
453                    )
454                },
455            }
456        }
457    }
458    #[doc(hidden)]
459    #[allow(non_snake_case)]
460    pub mod __lookup_optimize_setter {
461        use super::*;
462        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
463            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
464            ::unity::lookup::method_info_on_class_with_signature(
465                <PropertyMemberDescriptor as ::unity::ClassIdentity>::class(),
466                "OptimizeSetter",
467                0,
468                param_types,
469                false,
470            )
471        });
472        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
473            match &*METHOD {
474                ::core::result::Result::Ok(mi) => *mi,
475                ::core::result::Result::Err(e) => {
476                    panic!(
477                        "method lookup failed: {}
478::{}
479: {}
480",
481                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
482                        "OptimizeSetter",
483                        e
484                    )
485                },
486            }
487        }
488    }
489}
490
491#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
492impl PropertyMemberDescriptor {
493    #[doc = "`TryCreateIfVisible(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` overload"]
494    pub fn try_create_if_visible(
495        pi: impl ::core::convert::Into<crate::system::reflection::propertyinfo::PropertyInfo>,
496        access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
497    ) -> crate::moon_sharp::interpreter::interop::propertymemberdescriptor::PropertyMemberDescriptor {
498        unsafe {
499            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_try_create_if_visible::get_method_info().method_ptr,crate::moon_sharp::interpreter::interop::propertymemberdescriptor::PropertyMemberDescriptor;
500(crate::system::reflection::propertyinfo::PropertyInfo)::core::convert::Into::into(pi),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode))
501        }
502    }
503
504    #[doc = "`TryCreate(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode, crate::system::reflection::methodinfo::MethodInfo, crate::system::reflection::methodinfo::MethodInfo)` overload"]
505    pub fn try_create(
506        pi: impl ::core::convert::Into<crate::system::reflection::propertyinfo::PropertyInfo>,
507        access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
508        getter: impl ::core::convert::Into<crate::system::reflection::methodinfo::MethodInfo>,
509        setter: impl ::core::convert::Into<crate::system::reflection::methodinfo::MethodInfo>,
510    ) -> crate::moon_sharp::interpreter::interop::propertymemberdescriptor::PropertyMemberDescriptor {
511        unsafe {
512            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_try_create::get_method_info().method_ptr,crate::moon_sharp::interpreter::interop::propertymemberdescriptor::PropertyMemberDescriptor;
513(crate::system::reflection::propertyinfo::PropertyInfo)::core::convert::Into::into(pi),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode),(crate::system::reflection::methodinfo::MethodInfo)::core::convert::Into::into(getter),(crate::system::reflection::methodinfo::MethodInfo)::core::convert::Into::into(setter))
514        }
515    }
516}
517
518#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
519pub trait IPropertyMemberDescriptorMethods: IPropertyMemberDescriptor {
520    #[doc = "`get_PropertyInfo()` overload"]
521    fn get_property_info(self) -> crate::system::reflection::propertyinfo::PropertyInfo {
522        unsafe {
523            let __receiver =
524                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
525            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_get_property_info::get_method_info().method_ptr,crate::system::reflection::propertyinfo::PropertyInfo;
526(PropertyMemberDescriptor)__receiver)
527        }
528    }
529    #[doc = "`set_PropertyInfo(crate::system::reflection::propertyinfo::PropertyInfo)` overload"]
530    fn set_property_info(self, value: impl ::core::convert::Into<crate::system::reflection::propertyinfo::PropertyInfo>) -> () {
531        unsafe {
532            let __receiver =
533                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
534            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_set_property_info::get_method_info().method_ptr,();
535(PropertyMemberDescriptor)__receiver,(crate::system::reflection::propertyinfo::PropertyInfo)::core::convert::Into::into(value))
536        }
537    }
538    #[doc = "`get_AccessMode()` overload"]
539    fn get_access_mode(self) -> crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode {
540        unsafe {
541            let __receiver =
542                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
543            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_get_access_mode::get_method_info().method_ptr,crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode;
544(PropertyMemberDescriptor)__receiver)
545        }
546    }
547    #[doc = "`set_AccessMode(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` overload"]
548    fn set_access_mode(self, value: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>) -> () {
549        unsafe {
550            let __receiver =
551                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
552            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_set_access_mode::get_method_info().method_ptr,();
553(PropertyMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(value))
554        }
555    }
556    #[doc = "`get_IsStatic()` overload"]
557    fn get_is_static(self) -> bool {
558        unsafe {
559            let __receiver =
560                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
561            {
562                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
563                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
564                    panic!(
565                        "unity: virtual slot {}
566 out of range (vtable len {}
567) on the runtime class behind {}
568 (method `{}
569`)",
570                        4usize,
571                        __vt.len(),
572                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
573                        "get_IsStatic",
574                    )
575                });
576                let __inner: extern "C" fn(PropertyMemberDescriptor, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
577                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
578                __inner(__receiver, __mi)
579            }
580        }
581    }
582    #[doc = "`set_IsStatic(bool)` overload"]
583    fn set_is_static(self, value: impl ::core::convert::Into<bool>) -> () {
584        unsafe {
585            let __receiver =
586                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
587            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_set_is_static::get_method_info().method_ptr,();
588(PropertyMemberDescriptor)__receiver,(bool)::core::convert::Into::into(value))
589        }
590    }
591    #[doc = "`get_Name()` overload"]
592    fn get_name(self) -> ::unity::Il2CppString {
593        unsafe {
594            let __receiver =
595                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
596            {
597                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
598                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
599                    panic!(
600                        "unity: virtual slot {}
601 out of range (vtable len {}
602) on the runtime class behind {}
603 (method `{}
604`)",
605                        5usize,
606                        __vt.len(),
607                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
608                        "get_Name",
609                    )
610                });
611                let __inner: extern "C" fn(PropertyMemberDescriptor, ::unity::OptionalMethod) -> ::unity::Il2CppString =
612                    ::core::mem::transmute(__vi.method_ptr);
613                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
614                __inner(__receiver, __mi)
615            }
616        }
617    }
618    #[doc = "`set_Name(::unity::Il2CppString)` overload"]
619    fn set_name(self, value: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
620        unsafe {
621            let __receiver =
622                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
623            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_set_name::get_method_info().method_ptr,();
624(PropertyMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(value))
625        }
626    }
627    #[doc = "`get_CanRead()` overload"]
628    fn get_can_read(self) -> bool {
629        unsafe {
630            let __receiver =
631                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
632            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_get_can_read::get_method_info().method_ptr,bool;
633(PropertyMemberDescriptor)__receiver)
634        }
635    }
636    #[doc = "`get_CanWrite()` overload"]
637    fn get_can_write(self) -> bool {
638        unsafe {
639            let __receiver =
640                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
641            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_get_can_write::get_method_info().method_ptr,bool;
642(PropertyMemberDescriptor)__receiver)
643        }
644    }
645    #[doc = "`.ctor(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` overload"]
646    fn ctor(
647        self,
648        pi: impl ::core::convert::Into<crate::system::reflection::propertyinfo::PropertyInfo>,
649        access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
650    ) -> () {
651        unsafe {
652            let __receiver =
653                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
654            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
655(PropertyMemberDescriptor)__receiver,(crate::system::reflection::propertyinfo::PropertyInfo)::core::convert::Into::into(pi),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode))
656        }
657    }
658    #[doc = "`.ctor(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode, crate::system::reflection::methodinfo::MethodInfo, crate::system::reflection::methodinfo::MethodInfo)` overload"]
659    fn ctor_2(
660        self,
661        pi: impl ::core::convert::Into<crate::system::reflection::propertyinfo::PropertyInfo>,
662        access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
663        getter: impl ::core::convert::Into<crate::system::reflection::methodinfo::MethodInfo>,
664        setter: impl ::core::convert::Into<crate::system::reflection::methodinfo::MethodInfo>,
665    ) -> () {
666        unsafe {
667            let __receiver =
668                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
669            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_ctor_2::get_method_info().method_ptr,();
670(PropertyMemberDescriptor)__receiver,(crate::system::reflection::propertyinfo::PropertyInfo)::core::convert::Into::into(pi),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode),(crate::system::reflection::methodinfo::MethodInfo)::core::convert::Into::into(getter),(crate::system::reflection::methodinfo::MethodInfo)::core::convert::Into::into(setter))
671        }
672    }
673    #[doc = "`GetValue(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object)` overload"]
674    fn get_value(
675        self,
676        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
677        obj: impl ::core::convert::Into<crate::system::object::Object>,
678    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
679        unsafe {
680            let __receiver =
681                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
682            {
683                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
684                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
685                    panic!(
686                        "unity: virtual slot {}
687 out of range (vtable len {}
688) on the runtime class behind {}
689 (method `{}
690`)",
691                        7usize,
692                        __vt.len(),
693                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
694                        "GetValue",
695                    )
696                });
697                let __inner: extern "C" fn(
698                    PropertyMemberDescriptor,
699                    crate::moon_sharp::interpreter::script::Script,
700                    crate::system::object::Object,
701                    ::unity::OptionalMethod,
702                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
703                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
704                __inner(__receiver, ::core::convert::Into::into(script), ::core::convert::Into::into(obj), __mi)
705            }
706        }
707    }
708    #[doc = "`OptimizeGetter()` overload"]
709    fn optimize_getter(self) -> () {
710        unsafe {
711            let __receiver =
712                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
713            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_optimize_getter::get_method_info().method_ptr,();
714(PropertyMemberDescriptor)__receiver)
715        }
716    }
717    #[doc = "`OptimizeSetter()` overload"]
718    fn optimize_setter(self) -> () {
719        unsafe {
720            let __receiver =
721                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
722            ::unity::il2cpp_call!(__PropertyMemberDescriptor_unity_raw::__lookup_optimize_setter::get_method_info().method_ptr,();
723(PropertyMemberDescriptor)__receiver)
724        }
725    }
726    #[doc = "`SetValue(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
727    fn set_value(
728        self,
729        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
730        obj: impl ::core::convert::Into<crate::system::object::Object>,
731        v: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
732    ) -> () {
733        unsafe {
734            let __receiver =
735                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
736            {
737                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
738                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
739                    panic!(
740                        "unity: virtual slot {}
741 out of range (vtable len {}
742) on the runtime class behind {}
743 (method `{}
744`)",
745                        8usize,
746                        __vt.len(),
747                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
748                        "SetValue",
749                    )
750                });
751                let __inner: extern "C" fn(
752                    PropertyMemberDescriptor,
753                    crate::moon_sharp::interpreter::script::Script,
754                    crate::system::object::Object,
755                    crate::moon_sharp::interpreter::dynvalue::DynValue,
756                    ::unity::OptionalMethod,
757                ) -> () = ::core::mem::transmute(__vi.method_ptr);
758                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
759                __inner(
760                    __receiver,
761                    ::core::convert::Into::into(script),
762                    ::core::convert::Into::into(obj),
763                    ::core::convert::Into::into(v),
764                    __mi,
765                )
766            }
767        }
768    }
769    #[doc = "`get_MemberAccess()` overload"]
770    fn get_member_access(self) -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess {
771        unsafe {
772            let __receiver =
773                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
774            {
775                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
776                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
777                    panic!(
778                        "unity: virtual slot {}
779 out of range (vtable len {}
780) on the runtime class behind {}
781 (method `{}
782`)",
783                        6usize,
784                        __vt.len(),
785                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
786                        "get_MemberAccess",
787                    )
788                });
789                let __inner:extern "C" fn(PropertyMemberDescriptor, ::unity::OptionalMethod,)->crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess= ::core::mem::transmute(__vi.method_ptr);
790                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
791                __inner(__receiver, __mi)
792            }
793        }
794    }
795    #[doc = "`MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize()` overload"]
796    fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(self) -> () {
797        unsafe {
798            let __receiver =
799                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
800            {
801                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
802                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
803                    panic!(
804                        "unity: virtual slot {}
805 out of range (vtable len {}
806) on the runtime class behind {}
807 (method `{}
808`)",
809                        9usize,
810                        __vt.len(),
811                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
812                        "MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize",
813                    )
814                });
815                let __inner: extern "C" fn(PropertyMemberDescriptor, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
816                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
817                __inner(__receiver, __mi)
818            }
819        }
820    }
821    #[doc = "`PrepareForWiring(crate::moon_sharp::interpreter::table::Table)` overload"]
822    fn prepare_for_wiring(self, t: impl ::core::convert::Into<crate::moon_sharp::interpreter::table::Table>) -> () {
823        unsafe {
824            let __receiver =
825                <PropertyMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
826            {
827                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
828                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
829                    panic!(
830                        "unity: virtual slot {}
831 out of range (vtable len {}
832) on the runtime class behind {}
833 (method `{}
834`)",
835                        10usize,
836                        __vt.len(),
837                        <PropertyMemberDescriptor as ::unity::ClassIdentity>::NAME,
838                        "PrepareForWiring",
839                    )
840                });
841                let __inner: extern "C" fn(PropertyMemberDescriptor, crate::moon_sharp::interpreter::table::Table, ::unity::OptionalMethod) -> () =
842                    ::core::mem::transmute(__vi.method_ptr);
843                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
844                __inner(__receiver, ::core::convert::Into::into(t), __mi)
845            }
846        }
847    }
848}
849
850#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
851impl<__T: IPropertyMemberDescriptor> IPropertyMemberDescriptorMethods for __T {}
852
853#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
854impl PropertyMemberDescriptor {
855    pub fn get_property_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
856        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
857    }
858
859    pub fn set_property_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
860        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
861    }
862
863    pub fn get_access_mode_method_info() -> &'static ::unity::il2cpp::MethodInfo {
864        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
865    }
866
867    pub fn set_access_mode_method_info() -> &'static ::unity::il2cpp::MethodInfo {
868        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
869    }
870
871    pub fn get_is_static_method_info() -> &'static ::unity::il2cpp::MethodInfo {
872        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
873    }
874
875    pub fn set_is_static_method_info() -> &'static ::unity::il2cpp::MethodInfo {
876        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
877    }
878
879    pub fn get_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
880        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
881    }
882
883    pub fn set_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
884        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
885    }
886
887    pub fn get_can_read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
888        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
889    }
890
891    pub fn get_can_write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
892        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
893    }
894
895    pub fn try_create_if_visible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
896        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
897    }
898
899    pub fn try_create_method_info() -> &'static ::unity::il2cpp::MethodInfo {
900        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
901    }
902
903    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
904        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
905    }
906
907    pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
908        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
909    }
910
911    pub fn get_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
912        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
913    }
914
915    pub fn optimize_getter_method_info() -> &'static ::unity::il2cpp::MethodInfo {
916        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
917    }
918
919    pub fn optimize_setter_method_info() -> &'static ::unity::il2cpp::MethodInfo {
920        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
921    }
922
923    pub fn set_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
924        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
925    }
926
927    pub fn get_member_access_method_info() -> &'static ::unity::il2cpp::MethodInfo {
928        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
929    }
930
931    pub fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
932        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
933    }
934
935    pub fn prepare_for_wiring_method_info() -> &'static ::unity::il2cpp::MethodInfo {
936        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
937    }
938}
939
940#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
941impl PropertyMemberDescriptor {
942    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `get_IsStatic`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
943    pub unsafe fn get_is_static(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
944        let __mi = Self::get_is_static_method_info();
945        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
946        __inner(this.into(), ::core::option::Option::None)
947    }
948
949    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `get_Name`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
950    pub unsafe fn get_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
951        let __mi = Self::get_name_method_info();
952        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
953        __inner(this.into(), ::core::option::Option::None)
954    }
955
956    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `GetValue`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
957    pub unsafe fn get_value(
958        this: impl ::core::convert::Into<::unity::IlInstance>,
959        script: crate::moon_sharp::interpreter::script::Script,
960        obj: crate::system::object::Object,
961    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
962        let __mi = Self::get_value_method_info();
963        let __inner: extern "C" fn(
964            ::unity::IlInstance,
965            crate::moon_sharp::interpreter::script::Script,
966            crate::system::object::Object,
967            ::unity::OptionalMethod,
968        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
969        __inner(this.into(), script, obj, ::core::option::Option::None)
970    }
971
972    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `SetValue`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
973    pub unsafe fn set_value(
974        this: impl ::core::convert::Into<::unity::IlInstance>,
975        script: crate::moon_sharp::interpreter::script::Script,
976        obj: crate::system::object::Object,
977        v: crate::moon_sharp::interpreter::dynvalue::DynValue,
978    ) -> () {
979        let __mi = Self::set_value_method_info();
980        let __inner: extern "C" fn(
981            ::unity::IlInstance,
982            crate::moon_sharp::interpreter::script::Script,
983            crate::system::object::Object,
984            crate::moon_sharp::interpreter::dynvalue::DynValue,
985            ::unity::OptionalMethod,
986        ) -> () = ::core::mem::transmute(__mi.method_ptr);
987        __inner(this.into(), script, obj, v, ::core::option::Option::None)
988    }
989
990    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `get_MemberAccess`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
991    pub unsafe fn get_member_access(
992        this: impl ::core::convert::Into<::unity::IlInstance>,
993    ) -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess {
994        let __mi = Self::get_member_access_method_info();
995        let __inner: extern "C" fn(
996            ::unity::IlInstance,
997            ::unity::OptionalMethod,
998        )
999            -> crate::moon_sharp::interpreter::interop::basic_descriptors::memberdescriptoraccess::MemberDescriptorAccess =
1000            ::core::mem::transmute(__mi.method_ptr);
1001        __inner(this.into(), ::core::option::Option::None)
1002    }
1003
1004    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1005    pub unsafe fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(
1006        this: impl ::core::convert::Into<::unity::IlInstance>,
1007    ) -> () {
1008        let __mi = Self::moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info();
1009        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1010        __inner(this.into(), ::core::option::Option::None)
1011    }
1012
1013    #[doc = "Direct (non-virtual) call to `PropertyMemberDescriptor`'s own `PrepareForWiring`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1014    pub unsafe fn prepare_for_wiring(this: impl ::core::convert::Into<::unity::IlInstance>, t: crate::moon_sharp::interpreter::table::Table) -> () {
1015        let __mi = Self::prepare_for_wiring_method_info();
1016        let __inner: extern "C" fn(::unity::IlInstance, crate::moon_sharp::interpreter::table::Table, ::unity::OptionalMethod) -> () =
1017            ::core::mem::transmute(__mi.method_ptr);
1018        __inner(this.into(), t, ::core::option::Option::None)
1019    }
1020}
1021
1022#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
1023impl PropertyMemberDescriptor {
1024    #[doc = "`.ctor(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` — overload selector"]
1025    pub fn new(
1026        pi: crate::system::reflection::propertyinfo::PropertyInfo,
1027        access_mode: crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode,
1028    ) -> Self {
1029        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1030            panic!(
1031                "{}
1032::{}
1033 failed to instantiate",
1034                ::core::stringify!(PropertyMemberDescriptor),
1035                ::core::stringify!(new),
1036            )
1037        });
1038        <Self as IPropertyMemberDescriptorMethods>::ctor(this, pi, access_mode);
1039        this
1040    }
1041
1042    #[doc = "`.ctor(crate::system::reflection::propertyinfo::PropertyInfo, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode, crate::system::reflection::methodinfo::MethodInfo, crate::system::reflection::methodinfo::MethodInfo)` — overload selector"]
1043    pub fn new_2(
1044        pi: crate::system::reflection::propertyinfo::PropertyInfo,
1045        access_mode: crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode,
1046        getter: crate::system::reflection::methodinfo::MethodInfo,
1047        setter: crate::system::reflection::methodinfo::MethodInfo,
1048    ) -> Self {
1049        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1050            panic!(
1051                "{}
1052::{}
1053 failed to instantiate",
1054                ::core::stringify!(PropertyMemberDescriptor),
1055                ::core::stringify!(new_2),
1056            )
1057        });
1058        <Self as IPropertyMemberDescriptorMethods>::ctor_2(this, pi, access_mode, getter, setter);
1059        this
1060    }
1061}
1062
1063#[cfg(feature = "moon_sharp-interpreter-interop-propertymemberdescriptor")]
1064#[doc(hidden)]
1065pub mod prelude {
1066    pub use super::{IPropertyMemberDescriptor, IPropertyMemberDescriptorMethods, PropertyMemberDescriptor};
1067    pub use crate::system::object::IObject;
1068    #[cfg(feature = "system-object")]
1069    pub use crate::system::object::IObjectMethods;
1070}