Skip to main content

nanvm_harness/gen.fixtures/
mixed_if.rs

1// @generated by `fjs compile`. Do not edit: recompile the source module instead.
2
3use nanvm_lib::vm::unstable::{f64_any, strict_eq, strict_ne, string_any, string_key};
4use nanvm_lib::vm::{Any, Array, IStaticFunction, Nullish, ToAny, ToArray, ToObject};
5
6#[rustfmt::skip]
7#[allow(clippy::if_same_then_else)]
8pub fn module<A: IStaticFunction>(runtime: Any<A>) -> Result<Any<A>, Any<A>> {
9    let _b7: Any<A> = A::static_function(|_self, _args| { if Any::<A>::to_boolean(_args.argument(0)) {
10        let _b2: Any<A> = [_args.argument(1), f64_any(0x401c000000000000)].to_array().to_any();
11        if Any::<A>::to_boolean((Any::dot(_b2.clone(), f64_any(0x0000000000000000)).end())?) { Any::dot(_b2.clone(), f64_any(0x3ff0000000000000)).end() } else { Ok(f64_any(0x4022000000000000)) }
12    } else { Ok(f64_any(0x4022000000000000)) } }, 2, [runtime.clone()].to_array(), Some("($0,$1)=>$0?(()=>{const $2=[$1,7];return $2[0]?$2[1]:9;})():9")).to_any();
13    let _b27: Any<A> = A::static_function(|_self, _args| {
14        let _b3944_7: Any<A> = _args.argument(0);
15        let _b3945_8: Any<A> = _args.argument(1);
16        let _b15730: Any<A> = f64_any(0x0000000000000000);
17        let _b0: Any<A> = A::static_function(|_self, _args| { _args.argument(0) + f64_any(0x4014000000000000) }, 1, [A::frame(_self)[0].clone()].to_array(), Some("($0)=>$0+5")).to_any();
18        if Any::<A>::to_boolean(_b3944_7.clone()) {
19            let _b17: Any<A> = [(string_key("a"), A::static_function(|_self, _args| { Ok(A::frame(_self)[0].clone()) }, 0, [_b3945_8.clone(), A::frame(_self)[0].clone()].to_array(), Some("()=>$0")).to_any()), (string_key("b"), A::static_function(|_self, _args| { Ok(f64_any(0x401c000000000000)) }, 0, [A::frame(_self)[0].clone()].to_array(), Some("()=>7")).to_any()), (string_key("c"), A::static_function(|_self, _args| { Ok(f64_any(0x4008000000000000)) }, 0, [A::frame(_self)[0].clone()].to_array(), Some("()=>3")).to_any())].to_object().to_any();
20            if Any::<A>::to_boolean((Any::dot(_b17.clone(), string_any("a")).end_call(&A::frame(_self)[0], || Ok(Array::default().to_any())))?) { return Any::dot(_b17.clone(), string_any("b")).end_call(&A::frame(_self)[0], || Ok(Array::default().to_any())); }
21            return Any::call(_b0.clone(), [(f64_any(0x0000000000000000) + (Any::dot(_b17.clone(), string_any("c")).end_call(&A::frame(_self)[0], || Ok(Array::default().to_any())))?)?].to_array().to_any());
22        }
23        Any::call(_b0.clone(), [f64_any(0x0000000000000000)].to_array().to_any())
24    }, 2, [runtime.clone()].to_array(), Some("($0,$1)=>{const $2=$0;const $3=$1;const $4=0;const $5=($6)=>$6+5;if($2){const $7={\"a\":()=>$3,\"b\":()=>7,\"c\":()=>3};if($7.a()){return $7.b();}return $5(0+$7.c());}return $5(0);}")).to_any();
25    let _b45: Any<A> = A::static_function(|_self, _args| {
26        let _b6500_17: Any<A> = _args.argument(0);
27        let _b6501_18: Any<A> = _args.argument(1);
28        let _b15730_19: Any<A> = f64_any(0x4014000000000000);
29        let _b39: Any<A> = A::static_function(|_self, _args| { Ok([_args.argument(0), _args.argument(0)].to_array().to_any()) }, 1, [A::frame(_self)[0].clone()].to_array(), Some("($0)=>[$0,$0]")).to_any();
30        if Any::<A>::to_boolean(_b6500_17.clone()) {
31            let _b35: Any<A> = [(string_key("a"), [f64_any(0x401c000000000000)].to_array().to_any()), (string_key("b"), _b6501_18.clone()), (string_key("c"), [f64_any(0x4058c00000000000)].to_array().to_any())].to_object().to_any();
32            let _b36: Any<A> = (Any::dot(_b35.clone(), string_any("a")).end())?;
33            let _b15730_24: Any<A> = _b36.clone();
34            if Any::<A>::to_boolean((Any::dot(_b35.clone(), string_any("b")).end())?) { return Any::dot(_b35.clone(), string_any("c")).end(); }
35            return Any::call(_b39.clone(), [_b36.clone()].to_array().to_any());
36        }
37        Any::call(_b39.clone(), [f64_any(0x4014000000000000)].to_array().to_any())
38    }, 2, [runtime.clone()].to_array(), Some("($0,$1)=>{const $2=$0;const $3=$1;const $4=5;const $5=($6)=>[$6,$6];if($2){const $7={\"a\":[7],\"b\":$3,\"c\":[99]};const $8=$7.a;const $9=$8;if($7.b){return $7.c;}return $5($8);}return $5(5);}")).to_any();
39    let _b61: Any<A> = A::static_function(|_self, _args| {
40        let _b48: Any<A> = (Any::call(A::frame(_self)[0].clone(), [_args.argument(0), false.to_any()].to_array().to_any()))?;
41        let _b49: Any<A> = (Any::call(A::frame(_self)[0].clone(), [_args.argument(0), false.to_any()].to_array().to_any()))?;
42        Ok([(strict_eq((Any::dot(_b48.clone(), f64_any(0x0000000000000000)).end())?, (Any::dot(_b48.clone(), f64_any(0x3ff0000000000000)).end())?))?, (strict_ne(_b48.clone(), _b49.clone()))?, if Any::<A>::to_boolean(_args.argument(0)) { (strict_ne((Any::dot(_b48.clone(), f64_any(0x0000000000000000)).end())?, (Any::dot(_b49.clone(), f64_any(0x0000000000000000)).end())?))? } else { true.to_any() }, (Any::dot(_b48.clone(), f64_any(0x0000000000000000)).end())?].to_array().to_any())
43    }, 1, [_b45.clone(), runtime.clone()].to_array(), Some("($1)=>{const $2=$0($1,false);const $3=$0($1,false);return [$2[0]===$2[1],$2!==$3,$1?$2[0]!==$3[0]:true,$2[0]];}")).to_any();
44    let _b73: Any<A> = A::static_function(|_self, _args| {
45        let _b15730_32: Any<A> = f64_any(0x0000000000000000);
46        (if Any::<A>::to_boolean(_args.argument(0)) {
47            let _b68: Any<A> = A::static_function(|_self, _args| { if Any::<A>::to_boolean(A::frame(_self)[0].clone()) { Ok(f64_any(0x401c000000000000)) } else { Ok(f64_any(0x4020000000000000)) } }, 0, [_args.argument(0), A::frame(_self)[0].clone()].to_array(), Some("()=>$0?7:8")).to_any();
48            (Any::call(_b68.clone(), Array::default().to_any()))?
49        } else { f64_any(0x0000000000000000) }) + f64_any(0x3ff0000000000000)
50    }, 1, [runtime.clone()].to_array(), Some("($0)=>{const $1=0;return ($0?(()=>{const $2=()=>$0?7:8;return $2();})():0)+1;}")).to_any();
51    let _b86: Any<A> = A::static_function(|_self, _args| {
52        let _b15730_39: Any<A> = f64_any(0x0000000000000000);
53        if Any::<A>::to_boolean(_args.argument(0)) {
54            let _b80: Any<A> = (Any::dot(if Any::<A>::to_boolean(_args.argument(1)) { [(string_key("a"), f64_any(0x401c000000000000))].to_object().to_any() } else { Nullish::Null.to_any() }, string_any("a")).end())?;
55            if Any::<A>::to_boolean(_args.argument(2)) { Ok(f64_any(0x3ff0000000000000)) } else { Ok(_b80.clone()) }
56        } else { Ok(f64_any(0x0000000000000000)) }
57    }, 3, [runtime.clone()].to_array(), Some("($0,$1,$2)=>{const $3=0;return $0?(()=>{const $4=($1?{\"a\":7}:null).a;return $2?1:$4;})():0;}")).to_any();
58    let _b106: Any<A> = A::static_function(|_self, _args| {
59        let _b15731: Any<A> = _args.argument(0);
60        let _b15732: Any<A> = _args.argument(1);
61        let mut _b15733: Any<A> = _b15731.clone();
62        let mut _b15734: Any<A> = _b15732.clone();
63        let mut _b15735: Any<A> = Nullish::Undefined.to_any();
64        '_loop106: loop {
65            let _b15162_49: Any<A> = _b15733.clone();
66            let _b15163_50: Any<A> = _b15734.clone();
67            if Any::<A>::to_boolean((Any::gt(_b15162_49.clone(), f64_any(0x0000000000000000)))?) {
68                let _b95: Any<A> = [(_b15162_49.clone() - f64_any(0x3ff0000000000000))?, (_b15163_50.clone() + f64_any(0x3ff0000000000000))?].to_array().to_any();
69                if Any::<A>::to_boolean((strict_eq(_b15162_49.clone(), f64_any(0x3ff0000000000000)))?) {
70                    let _b15736: Any<A> = (Any::dot(_b95.clone(), f64_any(0x3ff0000000000000)).end())?;
71                    _b15735 = _b15736.clone();
72                    break '_loop106;
73                } else {
74                    let _b98: Any<A> = (Any::dot(_b95.clone(), f64_any(0x3ff0000000000000)).end())?;
75                    let _b15737: Any<A> = (_b15162_49.clone() - f64_any(0x3ff0000000000000))?;
76                    let _b15738: Any<A> = _b98.clone();
77                    _b15733 = _b15737.clone();
78                    _b15734 = _b15738.clone();
79                    continue '_loop106;
80                }
81            } else {
82                let _b15739: Any<A> = _b15163_50.clone();
83                _b15735 = _b15739.clone();
84                break '_loop106;
85            }
86        }
87        let _b15181: Any<A> = _b15735.clone();
88        Ok(_b15181.clone())
89    }, 2, [runtime.clone()].to_array(), Some("($0,$1)=>{const $2=$0;const $3=$1;let $4=$2;let $5=$3;let $6=undefined;L0:while(true){const $7=$4;const $8=$5;if($7>0){const $9=[$7-1,$8+1];if($7===1){const $10=$9[1];$6=$10;break L0;}else{const $11=$9[1];const $12=$7-1;const $13=$11;$4=$12;$5=$13;continue L0;}}else{const $14=$8;$6=$14;break L0;}}const $15=$6;return $15;}")).to_any();
90    Ok([(string_key("default"), [(Any::call(_b7.clone(), [false.to_any(), false.to_any()].to_array().to_any()))?, (Any::call(_b7.clone(), [true.to_any(), false.to_any()].to_array().to_any()))?, (Any::call(_b7.clone(), [true.to_any(), true.to_any()].to_array().to_any()))?, (Any::call(_b27.clone(), [false.to_any(), false.to_any()].to_array().to_any()))?, (Any::call(_b27.clone(), [true.to_any(), false.to_any()].to_array().to_any()))?, (Any::call(_b27.clone(), [true.to_any(), true.to_any()].to_array().to_any()))?, (Any::call(_b61.clone(), [false.to_any()].to_array().to_any()))?, (Any::call(_b61.clone(), [true.to_any()].to_array().to_any()))?, (Any::call(_b45.clone(), [true.to_any(), true.to_any()].to_array().to_any()))?, (Any::call(_b73.clone(), [false.to_any()].to_array().to_any()))?, (Any::call(_b73.clone(), [true.to_any()].to_array().to_any()))?, (Any::call(_b86.clone(), [false.to_any(), false.to_any(), true.to_any()].to_array().to_any()))?, (Any::call(_b86.clone(), [true.to_any(), true.to_any(), false.to_any()].to_array().to_any()))?, (Any::call(_b86.clone(), [true.to_any(), true.to_any(), true.to_any()].to_array().to_any()))?, (Any::call(_b106.clone(), [f64_any(0x4008000000000000), f64_any(0x401c000000000000)].to_array().to_any()))?].to_array().to_any()), (string_key("localOwner"), _b73.clone()), (string_key("nested"), _b45.clone()), (string_key("parameterized"), _b27.clone()), (string_key("partial"), _b7.clone()), (string_key("requiredRead"), _b86.clone()), (string_key("snapshotObservation"), _b61.clone()), (string_key("tail"), _b106.clone())].to_object().to_any())
91}