Skip to main content

engage/generated/moon_sharp/interpreter/tree/expressions/
binaryoperatorexpression.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        moon_sharp::interpreter::tree::{
10            expression::{Expression, IExpression},
11            nodebase::{INodeBase, NodeBase},
12        },
13        system::{
14            object::{IObject, Object},
15            r#enum::{Enum, IEnum},
16            valuetype::{IValueType, ValueType},
17        },
18    };
19
20    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/tree/expressions/binaryoperatorexpression/BinaryOperatorExpression_LinkedList.md"))]
21    #[::unity::class(namespace = "MoonSharp.Interpreter.Tree.Expressions", name = "BinaryOperatorExpression.LinkedList")]
22    #[parent(crate::system::object::Object)]
23    pub struct BinaryOperatorExpression_LinkedList {
24        #[offset(16)]
25        #[rename(name = "Nodes")]
26        pub nodes: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node,
27        #[offset(24)]
28        #[rename(name = "Last")]
29        pub last: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node,
30        #[offset(32)]
31        #[rename(name = "OperatorMask")]
32        pub operator_mask: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
33    }
34
35    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/tree/expressions/binaryoperatorexpression/BinaryOperatorExpression.md"))]
36    #[::unity::class(namespace = "MoonSharp.Interpreter.Tree.Expressions", name = "BinaryOperatorExpression")]
37    #[parent(crate::moon_sharp::interpreter::tree::expression::Expression)]
38    pub struct BinaryOperatorExpression {
39        #[static_field]
40        #[rename(name = "POWER")]
41        pub power: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
42        #[static_field]
43        #[rename(name = "MUL_DIV_MOD")]
44        pub mul_div_mod: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
45        #[static_field]
46        #[rename(name = "ADD_SUB")]
47        pub add_sub: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
48        #[static_field]
49        #[rename(name = "STRCAT")]
50        pub strcat: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
51        #[static_field]
52        #[rename(name = "COMPARES")]
53        pub compares: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
54        #[static_field]
55        #[rename(name = "LOGIC_AND")]
56        pub logic_and: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
57        #[static_field]
58        #[rename(name = "LOGIC_OR")]
59        pub logic_or: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
60        #[offset(32)]
61        #[rename(name = "m_Exp1")]
62        pub m_exp1: crate::moon_sharp::interpreter::tree::expression::Expression,
63        #[offset(40)]
64        #[rename(name = "m_Exp2")]
65        pub m_exp2: crate::moon_sharp::interpreter::tree::expression::Expression,
66        #[offset(48)]
67        #[rename(name = "m_Operator")]
68        pub m_operator: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
69    }
70
71    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/tree/expressions/binaryoperatorexpression/BinaryOperatorExpression_Node.md"))]
72    #[::unity::class(namespace = "MoonSharp.Interpreter.Tree.Expressions", name = "BinaryOperatorExpression.Node")]
73    #[parent(crate::system::object::Object)]
74    pub struct BinaryOperatorExpression_Node {
75        #[offset(16)]
76        #[rename(name = "Expr")]
77        pub expr: crate::moon_sharp::interpreter::tree::expression::Expression,
78        #[offset(24)]
79        #[rename(name = "Op")]
80        pub op: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
81        #[offset(32)]
82        #[rename(name = "Prev")]
83        pub prev: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node,
84        #[offset(40)]
85        #[rename(name = "Next")]
86        pub next: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node,
87    }
88
89    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/tree/expressions/binaryoperatorexpression/BinaryOperatorExpression_Operator.md"))]
90    #[repr(C)]
91    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
92    pub struct BinaryOperatorExpression_Operator {
93        pub value: i32,
94    }
95    impl ::unity::ClassIdentity for BinaryOperatorExpression_Operator {
96        const NAME: &'static str = "BinaryOperatorExpression.Operator";
97        const NAMESPACE: &'static str = "MoonSharp.Interpreter.Tree.Expressions";
98
99        fn class() -> ::unity::Class {
100            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
101            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
102        }
103    }
104    impl ::unity::IlType for BinaryOperatorExpression_Operator {
105        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
106            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
107        }
108    }
109    impl BinaryOperatorExpression_Operator {
110        pub fn not_an_operator() -> Self {
111            Self { value: 0 }
112        }
113
114        pub fn or() -> Self {
115            Self { value: 1 }
116        }
117
118        pub fn and() -> Self {
119            Self { value: 2 }
120        }
121
122        pub fn less() -> Self {
123            Self { value: 4 }
124        }
125
126        pub fn greater() -> Self {
127            Self { value: 8 }
128        }
129
130        pub fn less_or_equal() -> Self {
131            Self { value: 16 }
132        }
133
134        pub fn greater_or_equal() -> Self {
135            Self { value: 32 }
136        }
137
138        pub fn not_equal() -> Self {
139            Self { value: 64 }
140        }
141
142        pub fn equal() -> Self {
143            Self { value: 128 }
144        }
145
146        pub fn str_concat() -> Self {
147            Self { value: 256 }
148        }
149
150        pub fn add() -> Self {
151            Self { value: 512 }
152        }
153
154        pub fn sub() -> Self {
155            Self { value: 1024 }
156        }
157
158        pub fn mul() -> Self {
159            Self { value: 4096 }
160        }
161
162        pub fn div() -> Self {
163            Self { value: 8192 }
164        }
165
166        pub fn r#mod() -> Self {
167            Self { value: 16384 }
168        }
169
170        pub fn power() -> Self {
171            Self { value: 32768 }
172        }
173    }
174}
175
176#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression-types")]
177pub use __types::*;
178
179#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
180#[doc(hidden)]
181#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
182mod __BinaryOperatorExpression_LinkedList_unity_raw {
183    use super::*;
184    #[doc(hidden)]
185    #[allow(non_snake_case)]
186    pub mod __lookup_ctor {
187        use super::*;
188        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
189            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
190            ::unity::lookup::method_info_on_class_with_signature(
191                <BinaryOperatorExpression_LinkedList as ::unity::ClassIdentity>::class(),
192                ".ctor",
193                0,
194                param_types,
195                false,
196            )
197        });
198        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
199            match &*METHOD {
200                ::core::result::Result::Ok(mi) => *mi,
201                ::core::result::Result::Err(e) => {
202                    panic!(
203                        "method lookup failed: {}
204::{}
205: {}
206",
207                        <BinaryOperatorExpression_LinkedList as ::unity::ClassIdentity>::NAME,
208                        ".ctor",
209                        e
210                    )
211                },
212            }
213        }
214    }
215}
216
217#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
218pub trait IBinaryOperatorExpression_LinkedListMethods: IBinaryOperatorExpression_LinkedList {
219    #[doc = "`.ctor()` overload"]
220    fn ctor(self) -> () {
221        unsafe {
222            let __receiver = <BinaryOperatorExpression_LinkedList as ::unity::FromIlInstance>::from_il_instance(
223                <Self as ::unity::SystemObject>::as_instance(self),
224            );
225            ::unity::il2cpp_call!(__BinaryOperatorExpression_LinkedList_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
226(BinaryOperatorExpression_LinkedList)__receiver)
227        }
228    }
229}
230
231#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
232impl<__T: IBinaryOperatorExpression_LinkedList> IBinaryOperatorExpression_LinkedListMethods for __T {}
233
234#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
235impl BinaryOperatorExpression_LinkedList {
236    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
237        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
238    }
239}
240
241#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
242impl BinaryOperatorExpression_LinkedList {
243    #[doc = "`.ctor()` — no args"]
244    pub fn new() -> Self {
245        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
246            panic!(
247                "{}
248::{}
249 failed to instantiate",
250                ::core::stringify!(BinaryOperatorExpression_LinkedList),
251                ::core::stringify!(new),
252            )
253        });
254        <Self as IBinaryOperatorExpression_LinkedListMethods>::ctor(this);
255        this
256    }
257}
258
259#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
260#[doc(hidden)]
261#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
262mod __BinaryOperatorExpression_unity_raw {
263    use super::*;
264    #[doc(hidden)]
265    #[allow(non_snake_case)]
266    pub mod __lookup_begin_operator_chain {
267        use super::*;
268        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
269            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
270            ::unity::lookup::method_info_on_class_with_signature(
271                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
272                "BeginOperatorChain",
273                0,
274                param_types,
275                true,
276            )
277        });
278        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
279            match &*METHOD {
280                ::core::result::Result::Ok(mi) => *mi,
281                ::core::result::Result::Err(e) => {
282                    panic!(
283                        "method lookup failed: {}
284::{}
285: {}
286",
287                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
288                        "BeginOperatorChain",
289                        e
290                    )
291                },
292            }
293        }
294    }
295    #[doc(hidden)]
296    #[allow(non_snake_case)]
297    pub mod __lookup_add_expression_to_chain {
298        use super::*;
299        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
300            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
301                <crate::system::object::Object as ::unity::IlType>::il_type(),
302                <crate::moon_sharp::interpreter::tree::expression::Expression as ::unity::IlType>::il_type(),
303            ];
304            ::unity::lookup::method_info_on_class_with_signature(
305                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
306                "AddExpressionToChain",
307                2,
308                param_types,
309                true,
310            )
311        });
312        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
313            match &*METHOD {
314                ::core::result::Result::Ok(mi) => *mi,
315                ::core::result::Result::Err(e) => {
316                    panic!(
317                        "method lookup failed: {}
318::{}
319: {}
320",
321                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
322                        "AddExpressionToChain",
323                        e
324                    )
325                },
326            }
327        }
328    }
329    #[doc(hidden)]
330    #[allow(non_snake_case)]
331    pub mod __lookup_add_operator_to_chain {
332        use super::*;
333        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
334            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
335                <crate::system::object::Object as ::unity::IlType>::il_type(),
336                <crate::moon_sharp::interpreter::tree::token::Token as ::unity::IlType>::il_type(),
337            ];
338            ::unity::lookup::method_info_on_class_with_signature(
339                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
340                "AddOperatorToChain",
341                2,
342                param_types,
343                true,
344            )
345        });
346        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
347            match &*METHOD {
348                ::core::result::Result::Ok(mi) => *mi,
349                ::core::result::Result::Err(e) => {
350                    panic!(
351                        "method lookup failed: {}
352::{}
353: {}
354",
355                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
356                        "AddOperatorToChain",
357                        e
358                    )
359                },
360            }
361        }
362    }
363    #[doc(hidden)]
364    #[allow(non_snake_case)]
365    pub mod __lookup_commit_operator_chain {
366        use super::*;
367        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
368            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
369                <crate::system::object::Object as ::unity::IlType>::il_type(),
370                <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as ::unity::IlType>::il_type(),
371            ];
372            ::unity::lookup::method_info_on_class_with_signature(
373                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
374                "CommitOperatorChain",
375                2,
376                param_types,
377                true,
378            )
379        });
380        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
381            match &*METHOD {
382                ::core::result::Result::Ok(mi) => *mi,
383                ::core::result::Result::Err(e) => {
384                    panic!(
385                        "method lookup failed: {}
386::{}
387: {}
388",
389                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
390                        "CommitOperatorChain",
391                        e
392                    )
393                },
394            }
395        }
396    }
397    #[doc(hidden)]
398    #[allow(non_snake_case)]
399    pub mod __lookup_create_power_expression {
400        use super::*;
401        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
402            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
403                <crate::moon_sharp::interpreter::tree::expression::Expression as ::unity::IlType>::il_type(),
404                <crate::moon_sharp::interpreter::tree::expression::Expression as ::unity::IlType>::il_type(),
405                <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as ::unity::IlType>::il_type(),
406            ];
407            ::unity::lookup::method_info_on_class_with_signature(
408                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
409                "CreatePowerExpression",
410                3,
411                param_types,
412                true,
413            )
414        });
415        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
416            match &*METHOD {
417                ::core::result::Result::Ok(mi) => *mi,
418                ::core::result::Result::Err(e) => {
419                    panic!(
420                        "method lookup failed: {}
421::{}
422: {}
423",
424                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
425                        "CreatePowerExpression",
426                        e
427                    )
428                },
429            }
430        }
431    }
432    #[doc(hidden)]
433    #[allow(non_snake_case)]
434    pub mod __lookup_add_node {
435        use super::*;
436        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
437            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node as::unity::IlType> ::il_type()];
438            ::unity::lookup::method_info_on_class_with_signature(
439                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
440                "AddNode",
441                2,
442                param_types,
443                true,
444            )
445        });
446        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
447            match &*METHOD {
448                ::core::result::Result::Ok(mi) => *mi,
449                ::core::result::Result::Err(e) => {
450                    panic!(
451                        "method lookup failed: {}
452::{}
453: {}
454",
455                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
456                        "AddNode",
457                        e
458                    )
459                },
460            }
461        }
462    }
463    #[doc(hidden)]
464    #[allow(non_snake_case)]
465    pub mod __lookup_create_sub_tree {
466        use super::*;
467        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
468            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as::unity::IlType> ::il_type()];
469            ::unity::lookup::method_info_on_class_with_signature(
470                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
471                "CreateSubTree",
472                2,
473                param_types,
474                true,
475            )
476        });
477        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
478            match &*METHOD {
479                ::core::result::Result::Ok(mi) => *mi,
480                ::core::result::Result::Err(e) => {
481                    panic!(
482                        "method lookup failed: {}
483::{}
484: {}
485",
486                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
487                        "CreateSubTree",
488                        e
489                    )
490                },
491            }
492        }
493    }
494    #[doc(hidden)]
495    #[allow(non_snake_case)]
496    pub mod __lookup_prioritize_left_associative {
497        use super::*;
498        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
499            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type()];
500            ::unity::lookup::method_info_on_class_with_signature(
501                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
502                "PrioritizeLeftAssociative",
503                3,
504                param_types,
505                true,
506            )
507        });
508        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
509            match &*METHOD {
510                ::core::result::Result::Ok(mi) => *mi,
511                ::core::result::Result::Err(e) => {
512                    panic!(
513                        "method lookup failed: {}
514::{}
515: {}
516",
517                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
518                        "PrioritizeLeftAssociative",
519                        e
520                    )
521                },
522            }
523        }
524    }
525    #[doc(hidden)]
526    #[allow(non_snake_case)]
527    pub mod __lookup_prioritize_right_associative {
528        use super::*;
529        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
530            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type()];
531            ::unity::lookup::method_info_on_class_with_signature(
532                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
533                "PrioritizeRightAssociative",
534                3,
535                param_types,
536                true,
537            )
538        });
539        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
540            match &*METHOD {
541                ::core::result::Result::Ok(mi) => *mi,
542                ::core::result::Result::Err(e) => {
543                    panic!(
544                        "method lookup failed: {}
545::{}
546: {}
547",
548                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
549                        "PrioritizeRightAssociative",
550                        e
551                    )
552                },
553            }
554        }
555    }
556    #[doc(hidden)]
557    #[allow(non_snake_case)]
558    pub mod __lookup_parse_binary_operator {
559        use super::*;
560        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
561            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
562                &[<crate::moon_sharp::interpreter::tree::token::Token as ::unity::IlType>::il_type()];
563            ::unity::lookup::method_info_on_class_with_signature(
564                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
565                "ParseBinaryOperator",
566                1,
567                param_types,
568                true,
569            )
570        });
571        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
572            match &*METHOD {
573                ::core::result::Result::Ok(mi) => *mi,
574                ::core::result::Result::Err(e) => {
575                    panic!(
576                        "method lookup failed: {}
577::{}
578: {}
579",
580                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
581                        "ParseBinaryOperator",
582                        e
583                    )
584                },
585            }
586        }
587    }
588    #[doc(hidden)]
589    #[allow(non_snake_case)]
590    pub mod __lookup_ctor {
591        use super::*;
592        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
593            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expression::Expression as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expression::Expression as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext as::unity::IlType> ::il_type()];
594            ::unity::lookup::method_info_on_class_with_signature(
595                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
596                ".ctor",
597                4,
598                param_types,
599                false,
600            )
601        });
602        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
603            match &*METHOD {
604                ::core::result::Result::Ok(mi) => *mi,
605                ::core::result::Result::Err(e) => {
606                    panic!(
607                        "method lookup failed: {}
608::{}
609: {}
610",
611                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
612                        ".ctor",
613                        e
614                    )
615                },
616            }
617        }
618    }
619    #[doc(hidden)]
620    #[allow(non_snake_case)]
621    pub mod __lookup_should_invert_boolean {
622        use super::*;
623        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
624            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type()];
625            ::unity::lookup::method_info_on_class_with_signature(
626                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
627                "ShouldInvertBoolean",
628                1,
629                param_types,
630                true,
631            )
632        });
633        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
634            match &*METHOD {
635                ::core::result::Result::Ok(mi) => *mi,
636                ::core::result::Result::Err(e) => {
637                    panic!(
638                        "method lookup failed: {}
639::{}
640: {}
641",
642                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
643                        "ShouldInvertBoolean",
644                        e
645                    )
646                },
647            }
648        }
649    }
650    #[doc(hidden)]
651    #[allow(non_snake_case)]
652    pub mod __lookup_operator_to_op_code {
653        use super::*;
654        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
655            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type()];
656            ::unity::lookup::method_info_on_class_with_signature(
657                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
658                "OperatorToOpCode",
659                1,
660                param_types,
661                true,
662            )
663        });
664        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
665            match &*METHOD {
666                ::core::result::Result::Ok(mi) => *mi,
667                ::core::result::Result::Err(e) => {
668                    panic!(
669                        "method lookup failed: {}
670::{}
671: {}
672",
673                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
674                        "OperatorToOpCode",
675                        e
676                    )
677                },
678            }
679        }
680    }
681    #[doc(hidden)]
682    #[allow(non_snake_case)]
683    pub mod __lookup_eval_arithmetic {
684        use super::*;
685        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
686            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
687                <crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type(),
688                <crate::moon_sharp::interpreter::dynvalue::DynValue as ::unity::IlType>::il_type(),
689            ];
690            ::unity::lookup::method_info_on_class_with_signature(
691                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
692                "EvalArithmetic",
693                2,
694                param_types,
695                false,
696            )
697        });
698        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
699            match &*METHOD {
700                ::core::result::Result::Ok(mi) => *mi,
701                ::core::result::Result::Err(e) => {
702                    panic!(
703                        "method lookup failed: {}
704::{}
705: {}
706",
707                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
708                        "EvalArithmetic",
709                        e
710                    )
711                },
712            }
713        }
714    }
715    #[doc(hidden)]
716    #[allow(non_snake_case)]
717    pub mod __lookup_eval_comparison {
718        use super::*;
719        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
720            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::moon_sharp::interpreter::dynvalue::DynValue as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::dynvalue::DynValue as::unity::IlType> ::il_type(), <crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator as::unity::IlType> ::il_type()];
721            ::unity::lookup::method_info_on_class_with_signature(
722                <BinaryOperatorExpression as ::unity::ClassIdentity>::class(),
723                "EvalComparison",
724                3,
725                param_types,
726                false,
727            )
728        });
729        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
730            match &*METHOD {
731                ::core::result::Result::Ok(mi) => *mi,
732                ::core::result::Result::Err(e) => {
733                    panic!(
734                        "method lookup failed: {}
735::{}
736: {}
737",
738                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
739                        "EvalComparison",
740                        e
741                    )
742                },
743            }
744        }
745    }
746}
747
748#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
749impl BinaryOperatorExpression {
750    #[doc = "`BeginOperatorChain()` overload"]
751    pub fn begin_operator_chain() -> crate::system::object::Object {
752        unsafe {
753            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_begin_operator_chain::get_method_info().method_ptr,crate::system::object::Object;
754            )
755        }
756    }
757
758    #[doc = "`AddExpressionToChain(crate::system::object::Object, crate::moon_sharp::interpreter::tree::expression::Expression)` overload"]
759    pub fn add_expression_to_chain(
760        chain: impl ::core::convert::Into<crate::system::object::Object>,
761        exp: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
762    ) -> () {
763        unsafe {
764            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_add_expression_to_chain::get_method_info().method_ptr,();
765(crate::system::object::Object)::core::convert::Into::into(chain),(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(exp))
766        }
767    }
768
769    #[doc = "`AddOperatorToChain(crate::system::object::Object, crate::moon_sharp::interpreter::tree::token::Token)` overload"]
770    pub fn add_operator_to_chain(
771        chain: impl ::core::convert::Into<crate::system::object::Object>,
772        op: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::token::Token>,
773    ) -> () {
774        unsafe {
775            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_add_operator_to_chain::get_method_info().method_ptr,();
776(crate::system::object::Object)::core::convert::Into::into(chain),(crate::moon_sharp::interpreter::tree::token::Token)::core::convert::Into::into(op))
777        }
778    }
779
780    #[doc = "`CommitOperatorChain(crate::system::object::Object, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)` overload"]
781    pub fn commit_operator_chain(
782        chain: impl ::core::convert::Into<crate::system::object::Object>,
783        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
784    ) -> crate::moon_sharp::interpreter::tree::expression::Expression {
785        unsafe {
786            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_commit_operator_chain::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expression::Expression;
787(crate::system::object::Object)::core::convert::Into::into(chain),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext))
788        }
789    }
790
791    #[doc = "`CreatePowerExpression(crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)` overload"]
792    pub fn create_power_expression(
793        op1: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
794        op2: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
795        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
796    ) -> crate::moon_sharp::interpreter::tree::expression::Expression {
797        unsafe {
798            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_create_power_expression::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expression::Expression;
799(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(op1),(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(op2),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext))
800        }
801    }
802
803    #[doc = "`AddNode(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node)` overload"]
804    pub fn add_node(
805        list: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList>,
806        node: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node>,
807    ) -> () {
808        unsafe {
809            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_add_node::get_method_info().method_ptr,();
810(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList)::core::convert::Into::into(list),(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node)::core::convert::Into::into(node))
811        }
812    }
813
814    #[doc = "`CreateSubTree(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)` overload"]
815    pub fn create_sub_tree(
816        list: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList>,
817        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
818    ) -> crate::moon_sharp::interpreter::tree::expression::Expression {
819        unsafe {
820            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_create_sub_tree::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expression::Expression;
821(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_LinkedList)::core::convert::Into::into(list),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext))
822        }
823    }
824
825    #[doc = "`PrioritizeLeftAssociative(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)` overload"]
826    pub fn prioritize_left_associative(
827        nodes: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node>,
828        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
829        operators_to_find: impl ::core::convert::Into<
830            crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
831        >,
832    ) -> crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node {
833        unsafe {
834            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_prioritize_left_associative::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node;
835(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node)::core::convert::Into::into(nodes),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext),(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(operators_to_find))
836        }
837    }
838
839    #[doc = "`PrioritizeRightAssociative(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)` overload"]
840    pub fn prioritize_right_associative(
841        nodes: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node>,
842        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
843        operators_to_find: impl ::core::convert::Into<
844            crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
845        >,
846    ) -> crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node {
847        unsafe {
848            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_prioritize_right_associative::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node;
849(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Node)::core::convert::Into::into(nodes),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext),(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(operators_to_find))
850        }
851    }
852
853    #[doc = "`ParseBinaryOperator(crate::moon_sharp::interpreter::tree::token::Token)` overload"]
854    pub fn parse_binary_operator(
855        token: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::token::Token>,
856    ) -> crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator {
857        unsafe {
858            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_parse_binary_operator::get_method_info().method_ptr,crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator;
859(crate::moon_sharp::interpreter::tree::token::Token)::core::convert::Into::into(token))
860        }
861    }
862
863    #[doc = "`ShouldInvertBoolean(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)` overload"]
864    pub fn should_invert_boolean(
865        op: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator>,
866    ) -> bool {
867        unsafe {
868            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_should_invert_boolean::get_method_info().method_ptr,bool;
869(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(op))
870        }
871    }
872
873    #[doc = "`OperatorToOpCode(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)` overload"]
874    pub fn operator_to_op_code(
875        op: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator>,
876    ) -> crate::moon_sharp::interpreter::execution::vm::opcode::OpCode {
877        unsafe {
878            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_operator_to_op_code::get_method_info().method_ptr,crate::moon_sharp::interpreter::execution::vm::opcode::OpCode;
879(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(op))
880        }
881    }
882}
883
884#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
885pub trait IBinaryOperatorExpressionMethods: IBinaryOperatorExpression {
886    #[doc = "`.ctor(crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)` overload"]
887    fn ctor(
888        self,
889        exp1: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
890        exp2: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expression::Expression>,
891        op: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator>,
892        lcontext: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext>,
893    ) -> () {
894        unsafe {
895            let __receiver =
896                <BinaryOperatorExpression as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
897            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
898(BinaryOperatorExpression)__receiver,(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(exp1),(crate::moon_sharp::interpreter::tree::expression::Expression)::core::convert::Into::into(exp2),(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(op),(crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)::core::convert::Into::into(lcontext))
899        }
900    }
901    #[doc = "`Compile(crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode)` overload"]
902    fn compile(self, bc: impl ::core::convert::Into<crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode>) -> () {
903        unsafe {
904            let __receiver =
905                <BinaryOperatorExpression as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
906            {
907                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
908                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
909                    panic!(
910                        "unity: virtual slot {}
911 out of range (vtable len {}
912) on the runtime class behind {}
913 (method `{}
914`)",
915                        4usize,
916                        __vt.len(),
917                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
918                        "Compile",
919                    )
920                });
921                let __inner: extern "C" fn(
922                    BinaryOperatorExpression,
923                    crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
924                    ::unity::OptionalMethod,
925                ) -> () = ::core::mem::transmute(__vi.method_ptr);
926                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
927                __inner(__receiver, ::core::convert::Into::into(bc), __mi)
928            }
929        }
930    }
931    #[doc = "`Eval(crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext)` overload"]
932    fn eval(
933        self,
934        context: impl ::core::convert::Into<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext>,
935    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
936        unsafe {
937            let __receiver =
938                <BinaryOperatorExpression as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
939            {
940                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
941                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
942                    panic!(
943                        "unity: virtual slot {}
944 out of range (vtable len {}
945) on the runtime class behind {}
946 (method `{}
947`)",
948                        6usize,
949                        __vt.len(),
950                        <BinaryOperatorExpression as ::unity::ClassIdentity>::NAME,
951                        "Eval",
952                    )
953                });
954                let __inner: extern "C" fn(
955                    BinaryOperatorExpression,
956                    crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
957                    ::unity::OptionalMethod,
958                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
959                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
960                __inner(__receiver, ::core::convert::Into::into(context), __mi)
961            }
962        }
963    }
964    #[doc = "`EvalArithmetic(crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue)` overload"]
965    fn eval_arithmetic(
966        self,
967        v1: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
968        v2: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
969    ) -> f64 {
970        unsafe {
971            let __receiver =
972                <BinaryOperatorExpression as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
973            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_eval_arithmetic::get_method_info().method_ptr,f64;
974(BinaryOperatorExpression)__receiver,(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(v1),(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(v2))
975        }
976    }
977    #[doc = "`EvalComparison(crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)` overload"]
978    fn eval_comparison(
979        self,
980        l: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
981        r: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
982        op: impl ::core::convert::Into<crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator>,
983    ) -> bool {
984        unsafe {
985            let __receiver =
986                <BinaryOperatorExpression as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
987            ::unity::il2cpp_call!(__BinaryOperatorExpression_unity_raw::__lookup_eval_comparison::get_method_info().method_ptr,bool;
988(BinaryOperatorExpression)__receiver,(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(l),(crate::moon_sharp::interpreter::dynvalue::DynValue)::core::convert::Into::into(r),(crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator)::core::convert::Into::into(op))
989        }
990    }
991}
992
993#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
994impl<__T: IBinaryOperatorExpression> IBinaryOperatorExpressionMethods for __T {}
995
996#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
997impl BinaryOperatorExpression {
998    pub fn begin_operator_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
999        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1000    }
1001
1002    pub fn add_expression_to_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1003        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1004    }
1005
1006    pub fn add_operator_to_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1007        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1008    }
1009
1010    pub fn commit_operator_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1011        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1012    }
1013
1014    pub fn create_power_expression_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1015        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1016    }
1017
1018    pub fn add_node_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1019        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1020    }
1021
1022    pub fn create_sub_tree_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1023        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1024    }
1025
1026    pub fn prioritize_left_associative_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1027        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1028    }
1029
1030    pub fn prioritize_right_associative_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1031        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1032    }
1033
1034    pub fn parse_binary_operator_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1035        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1036    }
1037
1038    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1039        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1040    }
1041
1042    pub fn should_invert_boolean_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1043        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1044    }
1045
1046    pub fn operator_to_op_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1047        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1048    }
1049
1050    pub fn compile_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1051        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
1052    }
1053
1054    pub fn eval_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1055        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
1056    }
1057
1058    pub fn eval_arithmetic_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1059        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
1060    }
1061
1062    pub fn eval_comparison_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1063        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
1064    }
1065}
1066
1067#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1068impl BinaryOperatorExpression {
1069    #[doc = "Direct (non-virtual) call to `BinaryOperatorExpression`'s own `Compile`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1070    pub unsafe fn compile(
1071        this: impl ::core::convert::Into<::unity::IlInstance>,
1072        bc: crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
1073    ) -> () {
1074        let __mi = Self::compile_method_info();
1075        let __inner: extern "C" fn(
1076            ::unity::IlInstance,
1077            crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode,
1078            ::unity::OptionalMethod,
1079        ) -> () = ::core::mem::transmute(__mi.method_ptr);
1080        __inner(this.into(), bc, ::core::option::Option::None)
1081    }
1082
1083    #[doc = "Direct (non-virtual) call to `BinaryOperatorExpression`'s own `Eval`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1084    pub unsafe fn eval(
1085        this: impl ::core::convert::Into<::unity::IlInstance>,
1086        context: crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
1087    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
1088        let __mi = Self::eval_method_info();
1089        let __inner: extern "C" fn(
1090            ::unity::IlInstance,
1091            crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
1092            ::unity::OptionalMethod,
1093        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
1094        __inner(this.into(), context, ::core::option::Option::None)
1095    }
1096}
1097
1098#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1099impl BinaryOperatorExpression {
1100    #[doc = "`.ctor(crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext)` — overload selector"]
1101    pub fn new(
1102        exp1: crate::moon_sharp::interpreter::tree::expression::Expression,
1103        exp2: crate::moon_sharp::interpreter::tree::expression::Expression,
1104        op: crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator,
1105        lcontext: crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext,
1106    ) -> Self {
1107        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1108            panic!(
1109                "{}
1110::{}
1111 failed to instantiate",
1112                ::core::stringify!(BinaryOperatorExpression),
1113                ::core::stringify!(new),
1114            )
1115        });
1116        <Self as IBinaryOperatorExpressionMethods>::ctor(this, exp1, exp2, op, lcontext);
1117        this
1118    }
1119}
1120
1121#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1122#[doc(hidden)]
1123#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
1124mod __BinaryOperatorExpression_Node_unity_raw {
1125    use super::*;
1126    #[doc(hidden)]
1127    #[allow(non_snake_case)]
1128    pub mod __lookup_ctor {
1129        use super::*;
1130        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
1131            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
1132            ::unity::lookup::method_info_on_class_with_signature(
1133                <BinaryOperatorExpression_Node as ::unity::ClassIdentity>::class(),
1134                ".ctor",
1135                0,
1136                param_types,
1137                false,
1138            )
1139        });
1140        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1141            match &*METHOD {
1142                ::core::result::Result::Ok(mi) => *mi,
1143                ::core::result::Result::Err(e) => {
1144                    panic!(
1145                        "method lookup failed: {}
1146::{}
1147: {}
1148",
1149                        <BinaryOperatorExpression_Node as ::unity::ClassIdentity>::NAME,
1150                        ".ctor",
1151                        e
1152                    )
1153                },
1154            }
1155        }
1156    }
1157}
1158
1159#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1160pub trait IBinaryOperatorExpression_NodeMethods: IBinaryOperatorExpression_Node {
1161    #[doc = "`.ctor()` overload"]
1162    fn ctor(self) -> () {
1163        unsafe {
1164            let __receiver =
1165                <BinaryOperatorExpression_Node as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1166            ::unity::il2cpp_call!(__BinaryOperatorExpression_Node_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
1167(BinaryOperatorExpression_Node)__receiver)
1168        }
1169    }
1170}
1171
1172#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1173impl<__T: IBinaryOperatorExpression_Node> IBinaryOperatorExpression_NodeMethods for __T {}
1174
1175#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1176impl BinaryOperatorExpression_Node {
1177    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1178        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1179    }
1180}
1181
1182#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1183impl BinaryOperatorExpression_Node {
1184    #[doc = "`.ctor()` — no args"]
1185    pub fn new() -> Self {
1186        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1187            panic!(
1188                "{}
1189::{}
1190 failed to instantiate",
1191                ::core::stringify!(BinaryOperatorExpression_Node),
1192                ::core::stringify!(new),
1193            )
1194        });
1195        <Self as IBinaryOperatorExpression_NodeMethods>::ctor(this);
1196        this
1197    }
1198}
1199
1200#[cfg(feature = "moon_sharp-interpreter-tree-expressions-binaryoperatorexpression")]
1201#[doc(hidden)]
1202pub mod prelude {
1203    pub use super::{
1204        BinaryOperatorExpression, BinaryOperatorExpression_LinkedList, BinaryOperatorExpression_Node, BinaryOperatorExpression_Operator,
1205        IBinaryOperatorExpression, IBinaryOperatorExpressionMethods, IBinaryOperatorExpression_LinkedList,
1206        IBinaryOperatorExpression_LinkedListMethods, IBinaryOperatorExpression_Node, IBinaryOperatorExpression_NodeMethods,
1207    };
1208    #[cfg(feature = "moon_sharp-interpreter-tree-expression")]
1209    pub use crate::moon_sharp::interpreter::tree::expression::IExpressionMethods;
1210    #[cfg(feature = "moon_sharp-interpreter-tree-nodebase")]
1211    pub use crate::moon_sharp::interpreter::tree::nodebase::INodeBaseMethods;
1212    #[cfg(feature = "system-object")]
1213    pub use crate::system::object::IObjectMethods;
1214    #[cfg(feature = "system-enum")]
1215    pub use crate::system::r#enum::IEnumMethods;
1216    #[cfg(feature = "system-valuetype")]
1217    pub use crate::system::valuetype::IValueTypeMethods;
1218    pub use crate::{
1219        moon_sharp::interpreter::tree::{expression::IExpression, nodebase::INodeBase},
1220        system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
1221    };
1222}