porffor 0.42.8 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/builtins/generator.ts +31 -0
- package/compiler/builtins_precompiled.js +33 -2
- package/compiler/codegen.js +70 -2
- package/compiler/types.js +2 -0
- package/compiler/wrap.js +13 -0
- package/package.json +1 -1
- package/runner/index.js +1 -1
@@ -0,0 +1,31 @@
|
|
1
|
+
export const __Porffor_generator = (values: any[]): __Porffor_generator => {
|
2
|
+
const gen: __Porffor_generator = values;
|
3
|
+
return gen;
|
4
|
+
};
|
5
|
+
|
6
|
+
export const __Porffor_generator_yield = (vals: any[], value: any): void => {
|
7
|
+
const len: i32 = Porffor.array.fastPush(vals, value);
|
8
|
+
|
9
|
+
// add 1 to length so done is not true until after yields
|
10
|
+
vals.length = len + 1;
|
11
|
+
};
|
12
|
+
|
13
|
+
export const __Porffor_generator_prototype_next = (vals: any[]): object => {
|
14
|
+
const obj: object = {};
|
15
|
+
obj.next = vals.shift();
|
16
|
+
obj.done = vals.length == 0;
|
17
|
+
|
18
|
+
return obj;
|
19
|
+
};
|
20
|
+
|
21
|
+
export const __Porffor_generator_prototype_return = (vals: any[], value: any): object => {
|
22
|
+
vals.length = 1;
|
23
|
+
vals[0] = value;
|
24
|
+
|
25
|
+
return __Porffor_generator_prototype_next(vals);
|
26
|
+
};
|
27
|
+
|
28
|
+
export const __Porffor_generator_prototype_throw = (vals: any[], value: any): object => {
|
29
|
+
vals.length = 0;
|
30
|
+
throw value;
|
31
|
+
};
|
@@ -1739,6 +1739,37 @@ locals:[124],localNames:["_this","_this#type","out"],
|
|
1739
1739
|
usedTypes:[195],
|
1740
1740
|
data:{"bytestring: __Function_prototype_toString/out":[14,0,0,0,102,117,110,99,116,105,111,110,32,40,41,32,123,125]},
|
1741
1741
|
}
|
1742
|
+
this.__Porffor_generator = {
|
1743
|
+
wasm:()=>[[32,0],[34,2],[65,50],[15]],
|
1744
|
+
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1745
|
+
locals:[124],localNames:["values","values#type","gen"],
|
1746
|
+
usedTypes:[80,50],
|
1747
|
+
}
|
1748
|
+
this.__Porffor_generator_yield = {
|
1749
|
+
wasm:(_,{builtin})=>[[32,0],[65,208,0],[32,2],[32,3],[16,builtin('__Porffor_array_fastPush')],[33,5],[33,4],[32,0],[252,3],[34,7],[32,4],[68,1],[160],[34,6],[252,3],[54,1,0],[68,0],[65,128,1],[15]],
|
1750
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1751
|
+
locals:[124,127,124,127],localNames:["vals","vals#type","value","value#type","len","#last_type","__length_setter_tmp","__member_setter_ptr_tmp"],
|
1752
|
+
usedTypes:[80],
|
1753
|
+
}
|
1754
|
+
this.__Porffor_generator_prototype_next = {
|
1755
|
+
wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[184],[34,2],[33,5],[16,builtin('__Porffor_allocate')],[184],[34,6],[252,3],[34,7],[65,4],[54,1,0],[32,7],[65,238,0],[58,0,4],[32,7],[65,229,0],[58,0,5],[32,7],[65,248,0],[58,0,6],[32,7],[65,244,0],[58,0,7],[32,7],[184],[33,6],[32,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[32,0],[252,3],[34,9],[40,1,0],[33,8],[2,124],[32,8],[69],[4,64],[68,0],[12,1],[11],[32,9],[32,8],[65,1],[107],[34,8],[54,1,0],[32,9],[43,0,4],[32,9],[45,0,12],[65,4],[32,9],[106],[65,13],[32,9],[106],[32,8],[65,9],[108],[252,10,0,0],[33,10],[11],[32,10],[16,builtin('__Porffor_object_set')],[26],[26],[32,2],[33,5],[16,builtin('__Porffor_allocate')],[184],[34,6],[252,3],[34,7],[65,4],[54,1,0],[32,7],[65,228,0],[58,0,4],[32,7],[65,239,0],[58,0,5],[32,7],[65,238,0],[58,0,6],[32,7],[65,229,0],[58,0,7],[32,7],[184],[33,6],[32,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[32,0],[252,3],[40,1,0],[184],[68,0],[97],[184],[65,2],[16,builtin('__Porffor_object_set')],[26],[26],[32,2],[65,7],[15]],
|
1756
|
+
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1757
|
+
locals:[124,124,127,124,124,127,127,127,127],localNames:["vals","vals#type","obj","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#makearray_pointer_tmp","__proto_length_cache","__proto_pointer_cache","#last_type"],
|
1758
|
+
usedTypes:[7,195,80],
|
1759
|
+
}
|
1760
|
+
this.__Porffor_generator_prototype_return = {
|
1761
|
+
wasm:(_,{builtin})=>[[32,0],[252,3],[34,5],[68,1],[34,4],[252,3],[54,1,0],[32,0],[33,8],[68,0],[33,9],[32,8],[252,3],[32,9],[252,3],[65,9],[108],[106],[34,7],[32,2],[34,6],[57,0,4],[32,7],[32,3],[58,0,12],[32,0],[65,208,0],[16,builtin('__Porffor_generator_prototype_next')],[34,10],[15]],
|
1762
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1763
|
+
locals:[124,127,124,127,124,124,127],localNames:["vals","vals#type","value","value#type","__length_setter_tmp","__member_setter_ptr_tmp","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#last_type"],
|
1764
|
+
usedTypes:[80],
|
1765
|
+
}
|
1766
|
+
this.__Porffor_generator_prototype_throw = {
|
1767
|
+
wasm:()=>[[32,0],[252,3],[34,5],[68,0],[34,4],[252,3],[54,1,0],[32,2],[32,3],[8,0]],
|
1768
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1769
|
+
locals:[124,127],localNames:["vals","vals#type","value","value#type","__length_setter_tmp","__member_setter_ptr_tmp"],
|
1770
|
+
usedTypes:[80],
|
1771
|
+
usesTag:1,
|
1772
|
+
}
|
1742
1773
|
this.__Math_exp = {
|
1743
1774
|
wasm:(_,{builtin})=>[[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[68,"Infinity"],[154],[97],[4,64],[68,0],[65,1],[15],[11],[32,0],[65,1],[15],[11],[32,0],[68,0],[99],[4,64],[68,1],[32,0],[154],[65,1],[16,builtin('__Math_exp')],[33,2],[163],[65,1],[15],[11],[32,0],[68,0.6931471805599453],[163],[16,builtin('__Math_floor')],[33,3],[32,0],[32,3],[68,0.6931471805599453],[162],[161],[34,4],[33,5],[68,1],[32,4],[160],[33,6],[68,2],[33,7],[3,64],[32,5],[16,builtin('__Math_abs')],[68,1e-15],[100],[4,64],[32,5],[32,4],[32,7],[163],[162],[33,5],[32,6],[32,5],[160],[33,6],[32,7],[68,1],[160],[33,7],[12,1],[11],[11],[3,64],[32,3],[32,3],[68,1],[161],[33,3],[68,0],[100],[4,64],[32,6],[68,2],[162],[33,6],[12,1],[11],[11],[32,6],[65,1],[15]],
|
1744
1775
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
@@ -5083,13 +5114,13 @@ usedTypes:[33],
|
|
5083
5114
|
usesTag:1,
|
5084
5115
|
}
|
5085
5116
|
this.__ecma262_ToPrimitive_Number = {
|
5086
|
-
wasm:(_,{t,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_valueOf')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_valueOf')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_valueOf')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_valueOf')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[11],[33,2],[32,7],[33,3],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_toString')],[33,7],[12,1],[11]]),...t([6],()=>[[32,6],[65,6],[70],[4,64],[32,4],[32,5],[16,builtin('__Function_prototype_toString')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_toString')],[33,7],[12,1],[11]]),...t([19],()=>[[32,6],[65,19],[70],[4,64],[32,4],[32,5],[16,builtin('__Set_prototype_toString')],[33,7],[12,1],[11]]),...t([20],()=>[[32,6],[65,20],[70],[4,64],[32,4],[32,5],[16,builtin('__Map_prototype_toString')],[33,7],[12,1],[11]]),...t([33],()=>[[32,6],[65,33],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakRef_prototype_toString')],[33,7],[12,1],[11]]),...t([34],()=>[[32,6],[65,34],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakSet_prototype_toString')],[33,7],[12,1],[11]]),...t([35],()=>[[32,6],[65,35],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakMap_prototype_toString')],[33,7],[12,1],[11]]),...t([36],()=>[[32,6],[65,36],[70],[4,64],[32,4],[32,5],[16,builtin('__Promise_prototype_toString')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([40],()=>[[32,6],[65,40],[70],[4,64],[32,4],[32,5],[16,builtin('__Error_prototype_toString')],[33,7],[12,1],[11]]),...t([41],()=>[[32,6],[65,41],[70],[4,64],[32,4],[32,5],[16,builtin('__AggregateError_prototype_toString')],[33,7],[12,1],[11]]),...t([42],()=>[[32,6],[65,42],[70],[4,64],[32,4],[32,5],[16,builtin('__TypeError_prototype_toString')],[33,7],[12,1],[11]]),...t([43],()=>[[32,6],[65,43],[70],[4,64],[32,4],[32,5],[16,builtin('__ReferenceError_prototype_toString')],[33,7],[12,1],[11]]),...t([44],()=>[[32,6],[65,44],[70],[4,64],[32,4],[32,5],[16,builtin('__SyntaxError_prototype_toString')],[33,7],[12,1],[11]]),...t([45],()=>[[32,6],[65,45],[70],[4,64],[32,4],[32,5],[16,builtin('__RangeError_prototype_toString')],[33,7],[12,1],[11]]),...t([46],()=>[[32,6],[65,46],[70],[4,64],[32,4],[32,5],[16,builtin('__EvalError_prototype_toString')],[33,7],[12,1],[11]]),...t([47],()=>[[32,6],[65,47],[70],[4,64],[32,4],[32,5],[16,builtin('__URIError_prototype_toString')],[33,7],[12,1],[11]]),...t([48],()=>[[32,6],[65,48],[70],[4,64],[32,4],[32,5],[16,builtin('__Test262Error_prototype_toString')],[33,7],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_toString')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_toString')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_toString')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_toString')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[11],[34,2],[32,7],[33,3],[26],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],...internalThrow(_,'TypeError',`Cannot convert an object to primitive`),[68,0],[65,128,1],[15]],
|
5117
|
+
wasm:(_,{t,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_valueOf')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_valueOf')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_valueOf')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_valueOf')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[11],[33,2],[32,7],[33,3],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_toString')],[33,7],[12,1],[11]]),...t([6],()=>[[32,6],[65,6],[70],[4,64],[32,4],[32,5],[16,builtin('__Function_prototype_toString')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_toString')],[33,7],[12,1],[11]]),...t([19],()=>[[32,6],[65,19],[70],[4,64],[32,4],[32,5],[16,builtin('__Set_prototype_toString')],[33,7],[12,1],[11]]),...t([20],()=>[[32,6],[65,20],[70],[4,64],[32,4],[32,5],[16,builtin('__Map_prototype_toString')],[33,7],[12,1],[11]]),...t([33],()=>[[32,6],[65,33],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakRef_prototype_toString')],[33,7],[12,1],[11]]),...t([34],()=>[[32,6],[65,34],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakSet_prototype_toString')],[33,7],[12,1],[11]]),...t([35],()=>[[32,6],[65,35],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakMap_prototype_toString')],[33,7],[12,1],[11]]),...t([36],()=>[[32,6],[65,36],[70],[4,64],[32,4],[32,5],[16,builtin('__Promise_prototype_toString')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([40],()=>[[32,6],[65,40],[70],[4,64],[32,4],[32,5],[16,builtin('__Error_prototype_toString')],[33,7],[12,1],[11]]),...t([41],()=>[[32,6],[65,41],[70],[4,64],[32,4],[32,5],[16,builtin('__AggregateError_prototype_toString')],[33,7],[12,1],[11]]),...t([42],()=>[[32,6],[65,42],[70],[4,64],[32,4],[32,5],[16,builtin('__TypeError_prototype_toString')],[33,7],[12,1],[11]]),...t([43],()=>[[32,6],[65,43],[70],[4,64],[32,4],[32,5],[16,builtin('__ReferenceError_prototype_toString')],[33,7],[12,1],[11]]),...t([44],()=>[[32,6],[65,44],[70],[4,64],[32,4],[32,5],[16,builtin('__SyntaxError_prototype_toString')],[33,7],[12,1],[11]]),...t([45],()=>[[32,6],[65,45],[70],[4,64],[32,4],[32,5],[16,builtin('__RangeError_prototype_toString')],[33,7],[12,1],[11]]),...t([46],()=>[[32,6],[65,46],[70],[4,64],[32,4],[32,5],[16,builtin('__EvalError_prototype_toString')],[33,7],[12,1],[11]]),...t([47],()=>[[32,6],[65,47],[70],[4,64],[32,4],[32,5],[16,builtin('__URIError_prototype_toString')],[33,7],[12,1],[11]]),...t([48],()=>[[32,6],[65,48],[70],[4,64],[32,4],[32,5],[16,builtin('__Test262Error_prototype_toString')],[33,7],[12,1],[11]]),...t([49],()=>[[32,6],[65,49],[70],[4,64],[32,4],[32,5],[16,builtin('__Porffor_TodoError_prototype_toString')],[33,7],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_toString')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_toString')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_toString')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_toString')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[11],[34,2],[32,7],[33,3],[26],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],...internalThrow(_,'TypeError',`Cannot convert an object to primitive`),[68,0],[65,128,1],[15]],
|
5087
5118
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
5088
5119
|
locals:[124,127,124,127,127,127,124,124],localNames:["input","input#type","value","value#type","#proto_target","#proto_target#type","#typeswitch_tmp1","#last_type","#logicinner_tmp","logictmp"],
|
5089
5120
|
usesTag:1,
|
5090
5121
|
}
|
5091
5122
|
this.__ecma262_ToPrimitive_String = {
|
5092
|
-
wasm:(_,{t,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_toString')],[33,7],[12,1],[11]]),...t([6],()=>[[32,6],[65,6],[70],[4,64],[32,4],[32,5],[16,builtin('__Function_prototype_toString')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_toString')],[33,7],[12,1],[11]]),...t([19],()=>[[32,6],[65,19],[70],[4,64],[32,4],[32,5],[16,builtin('__Set_prototype_toString')],[33,7],[12,1],[11]]),...t([20],()=>[[32,6],[65,20],[70],[4,64],[32,4],[32,5],[16,builtin('__Map_prototype_toString')],[33,7],[12,1],[11]]),...t([33],()=>[[32,6],[65,33],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakRef_prototype_toString')],[33,7],[12,1],[11]]),...t([34],()=>[[32,6],[65,34],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakSet_prototype_toString')],[33,7],[12,1],[11]]),...t([35],()=>[[32,6],[65,35],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakMap_prototype_toString')],[33,7],[12,1],[11]]),...t([36],()=>[[32,6],[65,36],[70],[4,64],[32,4],[32,5],[16,builtin('__Promise_prototype_toString')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([40],()=>[[32,6],[65,40],[70],[4,64],[32,4],[32,5],[16,builtin('__Error_prototype_toString')],[33,7],[12,1],[11]]),...t([41],()=>[[32,6],[65,41],[70],[4,64],[32,4],[32,5],[16,builtin('__AggregateError_prototype_toString')],[33,7],[12,1],[11]]),...t([42],()=>[[32,6],[65,42],[70],[4,64],[32,4],[32,5],[16,builtin('__TypeError_prototype_toString')],[33,7],[12,1],[11]]),...t([43],()=>[[32,6],[65,43],[70],[4,64],[32,4],[32,5],[16,builtin('__ReferenceError_prototype_toString')],[33,7],[12,1],[11]]),...t([44],()=>[[32,6],[65,44],[70],[4,64],[32,4],[32,5],[16,builtin('__SyntaxError_prototype_toString')],[33,7],[12,1],[11]]),...t([45],()=>[[32,6],[65,45],[70],[4,64],[32,4],[32,5],[16,builtin('__RangeError_prototype_toString')],[33,7],[12,1],[11]]),...t([46],()=>[[32,6],[65,46],[70],[4,64],[32,4],[32,5],[16,builtin('__EvalError_prototype_toString')],[33,7],[12,1],[11]]),...t([47],()=>[[32,6],[65,47],[70],[4,64],[32,4],[32,5],[16,builtin('__URIError_prototype_toString')],[33,7],[12,1],[11]]),...t([48],()=>[[32,6],[65,48],[70],[4,64],[32,4],[32,5],[16,builtin('__Test262Error_prototype_toString')],[33,7],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_toString')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_toString')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_toString')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_toString')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[11],[33,2],[32,7],[33,3],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_valueOf')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_valueOf')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_valueOf')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_valueOf')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[11],[34,2],[32,7],[33,3],[26],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],...internalThrow(_,'TypeError',`Cannot convert an object to primitive`),[68,0],[65,128,1],[15]],
|
5123
|
+
wasm:(_,{t,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_toString')],[33,7],[12,1],[11]]),...t([6],()=>[[32,6],[65,6],[70],[4,64],[32,4],[32,5],[16,builtin('__Function_prototype_toString')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_toString')],[33,7],[12,1],[11]]),...t([19],()=>[[32,6],[65,19],[70],[4,64],[32,4],[32,5],[16,builtin('__Set_prototype_toString')],[33,7],[12,1],[11]]),...t([20],()=>[[32,6],[65,20],[70],[4,64],[32,4],[32,5],[16,builtin('__Map_prototype_toString')],[33,7],[12,1],[11]]),...t([33],()=>[[32,6],[65,33],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakRef_prototype_toString')],[33,7],[12,1],[11]]),...t([34],()=>[[32,6],[65,34],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakSet_prototype_toString')],[33,7],[12,1],[11]]),...t([35],()=>[[32,6],[65,35],[70],[4,64],[32,4],[32,5],[16,builtin('__WeakMap_prototype_toString')],[33,7],[12,1],[11]]),...t([36],()=>[[32,6],[65,36],[70],[4,64],[32,4],[32,5],[16,builtin('__Promise_prototype_toString')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_toString')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([40],()=>[[32,6],[65,40],[70],[4,64],[32,4],[32,5],[16,builtin('__Error_prototype_toString')],[33,7],[12,1],[11]]),...t([41],()=>[[32,6],[65,41],[70],[4,64],[32,4],[32,5],[16,builtin('__AggregateError_prototype_toString')],[33,7],[12,1],[11]]),...t([42],()=>[[32,6],[65,42],[70],[4,64],[32,4],[32,5],[16,builtin('__TypeError_prototype_toString')],[33,7],[12,1],[11]]),...t([43],()=>[[32,6],[65,43],[70],[4,64],[32,4],[32,5],[16,builtin('__ReferenceError_prototype_toString')],[33,7],[12,1],[11]]),...t([44],()=>[[32,6],[65,44],[70],[4,64],[32,4],[32,5],[16,builtin('__SyntaxError_prototype_toString')],[33,7],[12,1],[11]]),...t([45],()=>[[32,6],[65,45],[70],[4,64],[32,4],[32,5],[16,builtin('__RangeError_prototype_toString')],[33,7],[12,1],[11]]),...t([46],()=>[[32,6],[65,46],[70],[4,64],[32,4],[32,5],[16,builtin('__EvalError_prototype_toString')],[33,7],[12,1],[11]]),...t([47],()=>[[32,6],[65,47],[70],[4,64],[32,4],[32,5],[16,builtin('__URIError_prototype_toString')],[33,7],[12,1],[11]]),...t([48],()=>[[32,6],[65,48],[70],[4,64],[32,4],[32,5],[16,builtin('__Test262Error_prototype_toString')],[33,7],[12,1],[11]]),...t([49],()=>[[32,6],[65,49],[70],[4,64],[32,4],[32,5],[16,builtin('__Porffor_TodoError_prototype_toString')],[33,7],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_toString')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_toString')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_toString')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_toString')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_toString')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_toString')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_toString')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_toString')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_toString')],[33,7],[11],[33,2],[32,7],[33,3],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],[32,0],[33,4],[32,1],[33,5],[32,1],[33,6],[2,124],...t([1],()=>[[32,6],[65,1],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([2],()=>[[32,6],[65,2],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([5],()=>[[32,6],[65,5],[70],[4,64],[32,4],[32,5],[16,builtin('__Symbol_prototype_valueOf')],[33,7],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[12,1],[11]]),...t([18],()=>[[32,6],[65,18],[70],[4,64],[32,4],[32,5],[16,builtin('__Date_prototype_valueOf')],[33,7],[12,1],[11]]),...t([37],()=>[[32,6],[65,37],[70],[4,64],[32,4],[32,5],[16,builtin('__Boolean_prototype_valueOf')],[33,7],[12,1],[11]]),...t([38],()=>[[32,6],[65,38],[70],[4,64],[32,4],[32,5],[16,builtin('__Number_prototype_valueOf')],[33,7],[12,1],[11]]),...t([39],()=>[[32,6],[65,39],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([67],()=>[[32,6],[65,195,0],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__String_prototype_valueOf')],[33,7],[183],[12,1],[11]]),...t([80],()=>[[32,6],[65,208,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([88],()=>[[32,6],[65,216,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([89],()=>[[32,6],[65,217,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int8Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([90],()=>[[32,6],[65,218,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint8ClampedArray_prototype_valueOf')],[33,7],[12,1],[11]]),...t([91],()=>[[32,6],[65,219,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([92],()=>[[32,6],[65,220,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int16Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([93],()=>[[32,6],[65,221,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Uint32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([94],()=>[[32,6],[65,222,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Int32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([95],()=>[[32,6],[65,223,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float32Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([96],()=>[[32,6],[65,224,0],[70],[4,64],[32,4],[32,5],[16,builtin('__Float64Array_prototype_valueOf')],[33,7],[12,1],[11]]),...t([195],()=>[[32,6],[65,195,1],[70],[4,64],[32,4],[252,2],[32,5],[16,builtin('__ByteString_prototype_valueOf')],[33,7],[183],[12,1],[11]]),[32,4],[32,5],[16,builtin('__Object_prototype_valueOf')],[33,7],[11],[34,2],[32,7],[33,3],[26],[32,2],[33,8],[32,3],[33,6],[2,127],...t([0,128],()=>[[32,6],[65,0],[70],[32,6],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,6],[65,7],[70],[4,64],[32,8],[68,0],[97],[12,1],[11]]),[65,0],[11],[69],[184],[34,9],[252,3],[4,124],[32,2],[252,2],[32,3],[16,builtin('__Porffor_object_isObjectOrNull')],[33,7],[183],[33,8],[32,7],[33,6],[2,124],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,8],[68,0],[97],[184],[11],[65,2],[33,7],[5],[32,9],[65,2],[33,7],[11],[33,8],[32,7],[33,6],[2,127],...t([67,195],()=>[[32,6],[65,195,0],[70],[32,6],[65,195,1],[70],[114],[4,64],[32,8],[252,3],[40,1,0],[12,1],[11]]),[32,8],[252,3],[11],[4,64],[32,2],[32,3],[15],[11],...internalThrow(_,'TypeError',`Cannot convert an object to primitive`),[68,0],[65,128,1],[15]],
|
5093
5124
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
5094
5125
|
locals:[124,127,124,127,127,127,124,124],localNames:["input","input#type","value","value#type","#proto_target","#proto_target#type","#typeswitch_tmp1","#last_type","#logicinner_tmp","logictmp"],
|
5095
5126
|
usesTag:1,
|
package/compiler/codegen.js
CHANGED
@@ -312,6 +312,9 @@ const generate = (scope, decl, global = false, name = undefined, valueUnused = f
|
|
312
312
|
case 'AwaitExpression':
|
313
313
|
return cacheAst(decl, generateAwait(scope, decl));
|
314
314
|
|
315
|
+
case 'YieldExpression':
|
316
|
+
return cacheAst(decl, generateYield(scope, decl));
|
317
|
+
|
315
318
|
case 'TemplateLiteral':
|
316
319
|
return cacheAst(decl, generateTemplate(scope, decl));
|
317
320
|
|
@@ -451,6 +454,29 @@ const generateIdent = (scope, decl) => {
|
|
451
454
|
return lookup(decl.name, scope.identFailEarly);
|
452
455
|
};
|
453
456
|
|
457
|
+
const generateYield = (scope, decl) => {
|
458
|
+
const arg = decl.argument ?? DEFAULT_VALUE();
|
459
|
+
|
460
|
+
// just support a single yield like a return for now
|
461
|
+
return [
|
462
|
+
// return value in generator
|
463
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
464
|
+
...number(TYPES.__porffor_generator, Valtype.i32),
|
465
|
+
|
466
|
+
...generate(scope, arg),
|
467
|
+
...getNodeType(scope, arg),
|
468
|
+
|
469
|
+
[ Opcodes.call, includeBuiltin(scope, '__Porffor_generator_yield').index ],
|
470
|
+
[ Opcodes.drop ],
|
471
|
+
[ Opcodes.drop ],
|
472
|
+
|
473
|
+
// return generator
|
474
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
475
|
+
...number(TYPES.__porffor_generator, Valtype.i32),
|
476
|
+
[ Opcodes.return ]
|
477
|
+
];
|
478
|
+
};
|
479
|
+
|
454
480
|
const generateReturn = (scope, decl) => {
|
455
481
|
const arg = decl.argument ?? DEFAULT_VALUE();
|
456
482
|
|
@@ -458,7 +484,7 @@ const generateReturn = (scope, decl) => {
|
|
458
484
|
return [
|
459
485
|
// resolve promise with return value
|
460
486
|
...generate(scope, arg),
|
461
|
-
...
|
487
|
+
...getNodeType(scope, arg),
|
462
488
|
|
463
489
|
[ Opcodes.local_get, scope.locals['#async_out_promise'].idx ],
|
464
490
|
...number(TYPES.promise, Valtype.i32),
|
@@ -474,6 +500,26 @@ const generateReturn = (scope, decl) => {
|
|
474
500
|
];
|
475
501
|
}
|
476
502
|
|
503
|
+
if (scope.generator) {
|
504
|
+
return [
|
505
|
+
// return value in generator
|
506
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
507
|
+
...number(TYPES.__porffor_generator, Valtype.i32),
|
508
|
+
|
509
|
+
...generate(scope, arg),
|
510
|
+
...getNodeType(scope, arg),
|
511
|
+
|
512
|
+
[ Opcodes.call, includeBuiltin(scope, '__Porffor_generator_prototype_return').index ],
|
513
|
+
[ Opcodes.drop ],
|
514
|
+
[ Opcodes.drop ],
|
515
|
+
|
516
|
+
// return generator
|
517
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
518
|
+
...number(TYPES.__porffor_generator, Valtype.i32),
|
519
|
+
[ Opcodes.return ]
|
520
|
+
];
|
521
|
+
}
|
522
|
+
|
477
523
|
if (
|
478
524
|
scope.constr && // only do this in constructors
|
479
525
|
!globalThis.precompile // skip in precompiled built-ins, we should not require this and handle it ourselves
|
@@ -2102,7 +2148,8 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
|
|
2102
2148
|
}
|
2103
2149
|
|
2104
2150
|
for (const x of builtinProtoCands) {
|
2105
|
-
const
|
2151
|
+
const name = x.split('_prototype_')[0].toLowerCase();
|
2152
|
+
const type = TYPES[name.slice(2)] ?? TYPES[name];
|
2106
2153
|
if (type == null) continue;
|
2107
2154
|
|
2108
2155
|
protoBC[type] = () => generate(scope, {
|
@@ -6156,6 +6203,14 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
|
|
6156
6203
|
typeUsed(func, TYPES.promise);
|
6157
6204
|
}
|
6158
6205
|
|
6206
|
+
if (decl.generator) {
|
6207
|
+
// make out generator local
|
6208
|
+
allocVar(func, '#generator_out', false, false);
|
6209
|
+
|
6210
|
+
func.generator = true;
|
6211
|
+
typeUsed(func, TYPES.__porffor_generator);
|
6212
|
+
}
|
6213
|
+
|
6159
6214
|
wasm = wasm.concat(generate(func, body));
|
6160
6215
|
|
6161
6216
|
if (func.async) {
|
@@ -6191,6 +6246,19 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
|
|
6191
6246
|
ensureTag();
|
6192
6247
|
}
|
6193
6248
|
|
6249
|
+
if (func.generator) {
|
6250
|
+
// make generator at the start
|
6251
|
+
wasm.unshift(
|
6252
|
+
[ Opcodes.call, includeBuiltin(func, '__Porffor_allocate').index ],
|
6253
|
+
Opcodes.i32_from_u,
|
6254
|
+
...number(TYPES.array, Valtype.i32),
|
6255
|
+
|
6256
|
+
[ Opcodes.call, includeBuiltin(func, '__Porffor_generator').index ],
|
6257
|
+
[ Opcodes.drop ],
|
6258
|
+
[ Opcodes.local_set, func.locals['#generator_out'].idx ]
|
6259
|
+
);
|
6260
|
+
}
|
6261
|
+
|
6194
6262
|
if (name === 'main') {
|
6195
6263
|
func.gotLastType = true;
|
6196
6264
|
func.export = true;
|
package/compiler/types.js
CHANGED
@@ -89,6 +89,8 @@ registerInternalType('URIError');
|
|
89
89
|
registerInternalType('Test262Error');
|
90
90
|
registerInternalType('__Porffor_TodoError');
|
91
91
|
|
92
|
+
registerInternalType('__Porffor_generator');
|
93
|
+
|
92
94
|
if (Prefs.largestTypes) {
|
93
95
|
const typeKeys = Object.keys(TYPES);
|
94
96
|
const typeVals = Object.values(TYPES);
|
package/compiler/wrap.js
CHANGED
@@ -324,6 +324,19 @@ ${flags & 0b0001 ? ` get func idx: ${get}
|
|
324
324
|
return err;
|
325
325
|
}
|
326
326
|
|
327
|
+
case TYPES.__porffor_generator: {
|
328
|
+
const values = porfToJSValue({ memory, funcs, pages }, value, TYPES.array);
|
329
|
+
|
330
|
+
const out = { values };
|
331
|
+
Object.defineProperty(out, Symbol.for('nodejs.util.inspect.custom'), {
|
332
|
+
value(depth, opts, inspect) {
|
333
|
+
return `${opts.colors ? '\x1B[36m' : ''}Generator${opts.colors ? '\x1B[0m' : ''} ()`;
|
334
|
+
}
|
335
|
+
});
|
336
|
+
|
337
|
+
return out;
|
338
|
+
}
|
339
|
+
|
327
340
|
default: return value;
|
328
341
|
}
|
329
342
|
};
|
package/package.json
CHANGED