Skip to main content

engage/generated/system/reflection/
monoproperty.rs

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