1#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 moon_sharp::interpreter::interop::functionmemberdescriptorbase::{FunctionMemberDescriptorBase, IFunctionMemberDescriptorBase},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/methodmemberdescriptor/MethodMemberDescriptor.md"))]
14 #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "MethodMemberDescriptor")]
15 #[parent(crate::moon_sharp::interpreter::interop::functionmemberdescriptorbase::FunctionMemberDescriptorBase)]
16 pub struct MethodMemberDescriptor {
17 #[offset(88)]
18 #[rename(name = "m_OptimizedFunc")]
19 pub m_optimized_func: crate::system::func_3::Func_3<
20 crate::system::object::Object,
21 ::unity::Array<crate::system::object::Object>,
22 crate::system::object::Object,
23 >,
24 #[offset(96)]
25 #[rename(name = "m_OptimizedAction")]
26 pub m_optimized_action: crate::system::action_2::Action_2<crate::system::object::Object, ::unity::Array<crate::system::object::Object>>,
27 #[offset(104)]
28 #[rename(name = "m_IsAction")]
29 pub m_is_action: bool,
30 #[offset(105)]
31 #[rename(name = "m_IsArrayCtor")]
32 pub m_is_array_ctor: bool,
33 }
34}
35
36#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor-types")]
37pub use __types::*;
38
39#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
40#[doc(hidden)]
41#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
42mod __MethodMemberDescriptor_unity_raw {
43 use super::*;
44 #[doc(hidden)]
45 #[allow(non_snake_case)]
46 pub mod __lookup_get_method_info {
47 use super::*;
48 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
49 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
50 ::unity::lookup::method_info_on_class_with_signature(
51 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
52 "get_MethodInfo",
53 0,
54 param_types,
55 false,
56 )
57 });
58 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
59 match &*METHOD {
60 ::core::result::Result::Ok(mi) => *mi,
61 ::core::result::Result::Err(e) => {
62 panic!(
63 "method lookup failed: {}
64::{}
65: {}
66",
67 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
68 "get_MethodInfo",
69 e
70 )
71 },
72 }
73 }
74 }
75 #[doc(hidden)]
76 #[allow(non_snake_case)]
77 pub mod __lookup_set_method_info {
78 use super::*;
79 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
80 let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
81 &[<crate::system::reflection::methodbase::MethodBase as ::unity::IlType>::il_type()];
82 ::unity::lookup::method_info_on_class_with_signature(
83 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
84 "set_MethodInfo",
85 1,
86 param_types,
87 false,
88 )
89 });
90 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
91 match &*METHOD {
92 ::core::result::Result::Ok(mi) => *mi,
93 ::core::result::Result::Err(e) => {
94 panic!(
95 "method lookup failed: {}
96::{}
97: {}
98",
99 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
100 "set_MethodInfo",
101 e
102 )
103 },
104 }
105 }
106 }
107 #[doc(hidden)]
108 #[allow(non_snake_case)]
109 pub mod __lookup_get_access_mode {
110 use super::*;
111 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
112 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
113 ::unity::lookup::method_info_on_class_with_signature(
114 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
115 "get_AccessMode",
116 0,
117 param_types,
118 false,
119 )
120 });
121 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
122 match &*METHOD {
123 ::core::result::Result::Ok(mi) => *mi,
124 ::core::result::Result::Err(e) => {
125 panic!(
126 "method lookup failed: {}
127::{}
128: {}
129",
130 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
131 "get_AccessMode",
132 e
133 )
134 },
135 }
136 }
137 }
138 #[doc(hidden)]
139 #[allow(non_snake_case)]
140 pub mod __lookup_set_access_mode {
141 use super::*;
142 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
143 let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
144 &[<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type()];
145 ::unity::lookup::method_info_on_class_with_signature(
146 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
147 "set_AccessMode",
148 1,
149 param_types,
150 false,
151 )
152 });
153 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
154 match &*METHOD {
155 ::core::result::Result::Ok(mi) => *mi,
156 ::core::result::Result::Err(e) => {
157 panic!(
158 "method lookup failed: {}
159::{}
160: {}
161",
162 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
163 "set_AccessMode",
164 e
165 )
166 },
167 }
168 }
169 }
170 #[doc(hidden)]
171 #[allow(non_snake_case)]
172 pub mod __lookup_get_is_constructor {
173 use super::*;
174 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
175 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
176 ::unity::lookup::method_info_on_class_with_signature(
177 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
178 "get_IsConstructor",
179 0,
180 param_types,
181 false,
182 )
183 });
184 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
185 match &*METHOD {
186 ::core::result::Result::Ok(mi) => *mi,
187 ::core::result::Result::Err(e) => {
188 panic!(
189 "method lookup failed: {}
190::{}
191: {}
192",
193 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
194 "get_IsConstructor",
195 e
196 )
197 },
198 }
199 }
200 }
201 #[doc(hidden)]
202 #[allow(non_snake_case)]
203 pub mod __lookup_set_is_constructor {
204 use super::*;
205 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
206 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<bool as ::unity::IlType>::il_type()];
207 ::unity::lookup::method_info_on_class_with_signature(
208 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
209 "set_IsConstructor",
210 1,
211 param_types,
212 false,
213 )
214 });
215 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
216 match &*METHOD {
217 ::core::result::Result::Ok(mi) => *mi,
218 ::core::result::Result::Err(e) => {
219 panic!(
220 "method lookup failed: {}
221::{}
222: {}
223",
224 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
225 "set_IsConstructor",
226 e
227 )
228 },
229 }
230 }
231 }
232 #[doc(hidden)]
233 #[allow(non_snake_case)]
234 pub mod __lookup_ctor {
235 use super::*;
236 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
237 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
238 <crate::system::reflection::methodbase::MethodBase as ::unity::IlType>::il_type(),
239 <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
240 ];
241 ::unity::lookup::method_info_on_class_with_signature(
242 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
243 ".ctor",
244 2,
245 param_types,
246 false,
247 )
248 });
249 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
250 match &*METHOD {
251 ::core::result::Result::Ok(mi) => *mi,
252 ::core::result::Result::Err(e) => {
253 panic!(
254 "method lookup failed: {}
255::{}
256: {}
257",
258 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
259 ".ctor",
260 e
261 )
262 },
263 }
264 }
265 }
266 #[doc(hidden)]
267 #[allow(non_snake_case)]
268 pub mod __lookup_try_create_if_visible {
269 use super::*;
270 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
271 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
272 <crate::system::reflection::methodbase::MethodBase as ::unity::IlType>::il_type(),
273 <crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode as ::unity::IlType>::il_type(),
274 <bool as ::unity::IlType>::il_type(),
275 ];
276 ::unity::lookup::method_info_on_class_with_signature(
277 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
278 "TryCreateIfVisible",
279 3,
280 param_types,
281 true,
282 )
283 });
284 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
285 match &*METHOD {
286 ::core::result::Result::Ok(mi) => *mi,
287 ::core::result::Result::Err(e) => {
288 panic!(
289 "method lookup failed: {}
290::{}
291: {}
292",
293 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
294 "TryCreateIfVisible",
295 e
296 )
297 },
298 }
299 }
300 }
301 #[doc(hidden)]
302 #[allow(non_snake_case)]
303 pub mod __lookup_check_method_is_compatible {
304 use super::*;
305 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
306 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
307 <crate::system::reflection::methodbase::MethodBase as ::unity::IlType>::il_type(),
308 <bool as ::unity::IlType>::il_type(),
309 ];
310 ::unity::lookup::method_info_on_class_with_signature(
311 <MethodMemberDescriptor as ::unity::ClassIdentity>::class(),
312 "CheckMethodIsCompatible",
313 2,
314 param_types,
315 true,
316 )
317 });
318 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
319 match &*METHOD {
320 ::core::result::Result::Ok(mi) => *mi,
321 ::core::result::Result::Err(e) => {
322 panic!(
323 "method lookup failed: {}
324::{}
325: {}
326",
327 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
328 "CheckMethodIsCompatible",
329 e
330 )
331 },
332 }
333 }
334 }
335}
336
337#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
338impl MethodMemberDescriptor {
339 #[doc = "`TryCreateIfVisible(crate::system::reflection::methodbase::MethodBase, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode, bool)` overload"]
340 pub fn try_create_if_visible(
341 method_base: impl ::core::convert::Into<crate::system::reflection::methodbase::MethodBase>,
342 access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
343 force_visibility: impl ::core::convert::Into<bool>,
344 ) -> crate::moon_sharp::interpreter::interop::methodmemberdescriptor::MethodMemberDescriptor {
345 unsafe {
346 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_try_create_if_visible::get_method_info().method_ptr,crate::moon_sharp::interpreter::interop::methodmemberdescriptor::MethodMemberDescriptor;
347(crate::system::reflection::methodbase::MethodBase)::core::convert::Into::into(method_base),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode),(bool)::core::convert::Into::into(force_visibility))
348 }
349 }
350
351 #[doc = "`CheckMethodIsCompatible(crate::system::reflection::methodbase::MethodBase, bool)` overload"]
352 pub fn check_method_is_compatible(
353 method_base: impl ::core::convert::Into<crate::system::reflection::methodbase::MethodBase>,
354 throw_exception: impl ::core::convert::Into<bool>,
355 ) -> bool {
356 unsafe {
357 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_check_method_is_compatible::get_method_info().method_ptr,bool;
358(crate::system::reflection::methodbase::MethodBase)::core::convert::Into::into(method_base),(bool)::core::convert::Into::into(throw_exception))
359 }
360 }
361}
362
363#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
364pub trait IMethodMemberDescriptorMethods: IMethodMemberDescriptor {
365 #[doc = "`get_MethodInfo()` overload"]
366 fn get_method_info(self) -> crate::system::reflection::methodbase::MethodBase {
367 unsafe {
368 let __receiver =
369 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
370 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_get_method_info::get_method_info().method_ptr,crate::system::reflection::methodbase::MethodBase;
371(MethodMemberDescriptor)__receiver)
372 }
373 }
374 #[doc = "`set_MethodInfo(crate::system::reflection::methodbase::MethodBase)` overload"]
375 fn set_method_info(self, value: impl ::core::convert::Into<crate::system::reflection::methodbase::MethodBase>) -> () {
376 unsafe {
377 let __receiver =
378 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
379 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_set_method_info::get_method_info().method_ptr,();
380(MethodMemberDescriptor)__receiver,(crate::system::reflection::methodbase::MethodBase)::core::convert::Into::into(value))
381 }
382 }
383 #[doc = "`get_AccessMode()` overload"]
384 fn get_access_mode(self) -> crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode {
385 unsafe {
386 let __receiver =
387 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
388 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_get_access_mode::get_method_info().method_ptr,crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode;
389(MethodMemberDescriptor)__receiver)
390 }
391 }
392 #[doc = "`set_AccessMode(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` overload"]
393 fn set_access_mode(self, value: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>) -> () {
394 unsafe {
395 let __receiver =
396 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
397 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_set_access_mode::get_method_info().method_ptr,();
398(MethodMemberDescriptor)__receiver,(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(value))
399 }
400 }
401 #[doc = "`get_IsConstructor()` overload"]
402 fn get_is_constructor(self) -> bool {
403 unsafe {
404 let __receiver =
405 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
406 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_get_is_constructor::get_method_info().method_ptr,bool;
407(MethodMemberDescriptor)__receiver)
408 }
409 }
410 #[doc = "`set_IsConstructor(bool)` overload"]
411 fn set_is_constructor(self, value: impl ::core::convert::Into<bool>) -> () {
412 unsafe {
413 let __receiver =
414 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
415 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_set_is_constructor::get_method_info().method_ptr,();
416(MethodMemberDescriptor)__receiver,(bool)::core::convert::Into::into(value))
417 }
418 }
419 #[doc = "`.ctor(crate::system::reflection::methodbase::MethodBase, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` overload"]
420 fn ctor(
421 self,
422 method_base: impl ::core::convert::Into<crate::system::reflection::methodbase::MethodBase>,
423 access_mode: impl ::core::convert::Into<crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode>,
424 ) -> () {
425 unsafe {
426 let __receiver =
427 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
428 ::unity::il2cpp_call!(__MethodMemberDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
429(MethodMemberDescriptor)__receiver,(crate::system::reflection::methodbase::MethodBase)::core::convert::Into::into(method_base),(crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)::core::convert::Into::into(access_mode))
430 }
431 }
432 #[doc = "`Execute(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)` overload"]
433 fn execute(
434 self,
435 script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
436 obj: impl ::core::convert::Into<crate::system::object::Object>,
437 context: impl ::core::convert::Into<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext>,
438 args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
439 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
440 unsafe {
441 let __receiver =
442 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
443 {
444 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
445 let __vi = *__vt.get(16usize).unwrap_or_else(|| {
446 panic!(
447 "unity: virtual slot {}
448 out of range (vtable len {}
449) on the runtime class behind {}
450 (method `{}
451`)",
452 16usize,
453 __vt.len(),
454 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
455 "Execute",
456 )
457 });
458 let __inner: extern "C" fn(
459 MethodMemberDescriptor,
460 crate::moon_sharp::interpreter::script::Script,
461 crate::system::object::Object,
462 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
463 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
464 ::unity::OptionalMethod,
465 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
466 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
467 __inner(
468 __receiver,
469 ::core::convert::Into::into(script),
470 ::core::convert::Into::into(obj),
471 ::core::convert::Into::into(context),
472 ::core::convert::Into::into(args),
473 __mi,
474 )
475 }
476 }
477 }
478 #[doc = "`MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize()` overload"]
479 fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(self) -> () {
480 unsafe {
481 let __receiver =
482 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
483 {
484 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
485 let __vi = *__vt.get(19usize).unwrap_or_else(|| {
486 panic!(
487 "unity: virtual slot {}
488 out of range (vtable len {}
489) on the runtime class behind {}
490 (method `{}
491`)",
492 19usize,
493 __vt.len(),
494 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
495 "MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize",
496 )
497 });
498 let __inner: extern "C" fn(MethodMemberDescriptor, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
499 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
500 __inner(__receiver, __mi)
501 }
502 }
503 }
504 #[doc = "`PrepareForWiring(crate::moon_sharp::interpreter::table::Table)` overload"]
505 fn prepare_for_wiring(self, t: impl ::core::convert::Into<crate::moon_sharp::interpreter::table::Table>) -> () {
506 unsafe {
507 let __receiver =
508 <MethodMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
509 {
510 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
511 let __vi = *__vt.get(20usize).unwrap_or_else(|| {
512 panic!(
513 "unity: virtual slot {}
514 out of range (vtable len {}
515) on the runtime class behind {}
516 (method `{}
517`)",
518 20usize,
519 __vt.len(),
520 <MethodMemberDescriptor as ::unity::ClassIdentity>::NAME,
521 "PrepareForWiring",
522 )
523 });
524 let __inner: extern "C" fn(MethodMemberDescriptor, crate::moon_sharp::interpreter::table::Table, ::unity::OptionalMethod) -> () =
525 ::core::mem::transmute(__vi.method_ptr);
526 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
527 __inner(__receiver, ::core::convert::Into::into(t), __mi)
528 }
529 }
530 }
531}
532
533#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
534impl<__T: IMethodMemberDescriptor> IMethodMemberDescriptorMethods for __T {}
535
536#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
537impl MethodMemberDescriptor {
538 pub fn get_method_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
539 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
540 }
541
542 pub fn set_method_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
543 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
544 }
545
546 pub fn get_access_mode_method_info() -> &'static ::unity::il2cpp::MethodInfo {
547 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
548 }
549
550 pub fn set_access_mode_method_info() -> &'static ::unity::il2cpp::MethodInfo {
551 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
552 }
553
554 pub fn get_is_constructor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
555 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
556 }
557
558 pub fn set_is_constructor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
559 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
560 }
561
562 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
563 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
564 }
565
566 pub fn try_create_if_visible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
567 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
568 }
569
570 pub fn check_method_is_compatible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
571 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
572 }
573
574 pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
575 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
576 }
577
578 pub fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
579 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
580 }
581
582 pub fn prepare_for_wiring_method_info() -> &'static ::unity::il2cpp::MethodInfo {
583 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
584 }
585}
586
587#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
588impl MethodMemberDescriptor {
589 #[doc = "Direct (non-virtual) call to `MethodMemberDescriptor`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
590 pub unsafe fn execute(
591 this: impl ::core::convert::Into<::unity::IlInstance>,
592 script: crate::moon_sharp::interpreter::script::Script,
593 obj: crate::system::object::Object,
594 context: crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
595 args: crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
596 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
597 let __mi = Self::execute_method_info();
598 let __inner: extern "C" fn(
599 ::unity::IlInstance,
600 crate::moon_sharp::interpreter::script::Script,
601 crate::system::object::Object,
602 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
603 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
604 ::unity::OptionalMethod,
605 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
606 __inner(this.into(), script, obj, context, args, ::core::option::Option::None)
607 }
608
609 #[doc = "Direct (non-virtual) call to `MethodMemberDescriptor`'s own `MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
610 pub unsafe fn moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize(
611 this: impl ::core::convert::Into<::unity::IlInstance>,
612 ) -> () {
613 let __mi = Self::moon_sharp_interpreter_interop_basic_descriptors_i_optimizable_descriptor_optimize_method_info();
614 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
615 __inner(this.into(), ::core::option::Option::None)
616 }
617
618 #[doc = "Direct (non-virtual) call to `MethodMemberDescriptor`'s own `PrepareForWiring`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
619 pub unsafe fn prepare_for_wiring(this: impl ::core::convert::Into<::unity::IlInstance>, t: crate::moon_sharp::interpreter::table::Table) -> () {
620 let __mi = Self::prepare_for_wiring_method_info();
621 let __inner: extern "C" fn(::unity::IlInstance, crate::moon_sharp::interpreter::table::Table, ::unity::OptionalMethod) -> () =
622 ::core::mem::transmute(__mi.method_ptr);
623 __inner(this.into(), t, ::core::option::Option::None)
624 }
625}
626
627#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
628impl MethodMemberDescriptor {
629 #[doc = "`.ctor(crate::system::reflection::methodbase::MethodBase, crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode)` — overload selector"]
630 pub fn new(
631 method_base: crate::system::reflection::methodbase::MethodBase,
632 access_mode: crate::moon_sharp::interpreter::interopaccessmode::InteropAccessMode,
633 ) -> Self {
634 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
635 panic!(
636 "{}
637::{}
638 failed to instantiate",
639 ::core::stringify!(MethodMemberDescriptor),
640 ::core::stringify!(new),
641 )
642 });
643 <Self as IMethodMemberDescriptorMethods>::ctor(this, method_base, access_mode);
644 this
645 }
646}
647
648#[cfg(feature = "moon_sharp-interpreter-interop-methodmemberdescriptor")]
649#[doc(hidden)]
650pub mod prelude {
651 pub use super::{IMethodMemberDescriptor, IMethodMemberDescriptorMethods, MethodMemberDescriptor};
652 #[cfg(feature = "moon_sharp-interpreter-interop-functionmemberdescriptorbase")]
653 pub use crate::moon_sharp::interpreter::interop::functionmemberdescriptorbase::IFunctionMemberDescriptorBaseMethods;
654 #[cfg(feature = "system-object")]
655 pub use crate::system::object::IObjectMethods;
656 pub use crate::{moon_sharp::interpreter::interop::functionmemberdescriptorbase::IFunctionMemberDescriptorBase, system::object::IObject};
657}