Coverage for tests/codegen/generated/keywords/__init__.py: 95%
41 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
1from .exports import for_
2from .imports import RootImports, false
3from .intrinsics import _clamp
4import importlib_resources
5import pathlib
6import wasmtime
8class Root:
10 def __init__(self, store: wasmtime.Store, import_object: RootImports) -> None:
11 def lowering0_callee(caller: wasmtime.Caller, arg0: int, arg1: int) -> int:
12 variant: false.None_
13 if arg0 == 0:
14 variant = false.None_Break(arg1)
15 elif arg0 == 1:
16 variant = false.None_Class(arg1)
17 elif arg0 == 2:
18 variant = false.None_True_(arg1)
19 else:
20 raise TypeError("invalid variant discriminant for None_")
21 ret = import_object.false.as_(variant)
22 return _clamp(ret, -9223372036854775808, 9223372036854775807)
23 lowering0_ty = wasmtime.FuncType([wasmtime.ValType.i32(), wasmtime.ValType.i64(), ], [wasmtime.ValType.i64(), ])
24 trampoline0 = wasmtime.Func(store, lowering0_ty, lowering0_callee, access_caller = True)
25 def lowering1_callee(caller: wasmtime.Caller, arg0: int, arg1: int, arg2: int) -> int:
26 ret = import_object.false.lambda_(false.True_(_clamp(arg0, 0, 255), _clamp(arg1, 0, 255), _clamp(arg2, 0, 255)))
27 return _clamp(ret, 0, 4294967295)
28 lowering1_ty = wasmtime.FuncType([wasmtime.ValType.i32(), wasmtime.ValType.i32(), wasmtime.ValType.i32(), ], [wasmtime.ValType.i32(), ])
29 trampoline1 = wasmtime.Func(store, lowering1_ty, lowering1_callee, access_caller = True)
30 file = importlib_resources.files() / ('root.core0.wasm')
31 if isinstance(file, pathlib.Path):
32 module = wasmtime.Module.from_file(store.engine, file)
33 else:
34 module = wasmtime.Module(store.engine, file.read_bytes())
35 instance0 = wasmtime.Instance(store, module, [
36 trampoline0,
37 trampoline1,
38 ]).exports(store)
39 lift_callee0 = instance0["lambda"]
40 assert(isinstance(lift_callee0, wasmtime.Func))
41 self.lift_callee0 = lift_callee0
42 lift_callee1 = instance0["await"]
43 assert(isinstance(lift_callee1, wasmtime.Func))
44 self.lift_callee1 = lift_callee1
45 lift_callee2 = instance0["as"]
46 assert(isinstance(lift_callee2, wasmtime.Func))
47 self.lift_callee2 = lift_callee2
48 def for_(self) -> for_.For:
49 return for_.For(self)