Coverage for tests/codegen/generated/bare_funcs/__init__.py: 96%
24 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 .imports import RootImports
2from .intrinsics import _clamp
3import importlib_resources
4import pathlib
5import wasmtime
7class Root:
9 def __init__(self, store: wasmtime.Store, import_object: RootImports) -> None:
10 def lowering0_callee(caller: wasmtime.Caller, arg0: int) -> int:
11 ret = import_object.host.foo_import(arg0)
12 return _clamp(ret, -2147483648, 2147483647)
13 lowering0_ty = wasmtime.FuncType([wasmtime.ValType.i32(), ], [wasmtime.ValType.i32(), ])
14 trampoline0 = wasmtime.Func(store, lowering0_ty, lowering0_callee, access_caller = True)
15 file = importlib_resources.files() / ('root.core0.wasm')
16 if isinstance(file, pathlib.Path):
17 module = wasmtime.Module.from_file(store.engine, file)
18 else:
19 module = wasmtime.Module(store.engine, file.read_bytes())
20 instance0 = wasmtime.Instance(store, module, [
21 trampoline0,
22 ]).exports(store)
23 lift_callee0 = instance0["foo"]
24 assert(isinstance(lift_callee0, wasmtime.Func))
25 self.lift_callee0 = lift_callee0
26 def foo_export(self, caller: wasmtime.Store, a: int) -> int:
27 ret = self.lift_callee0(caller, _clamp(a, -2147483648, 2147483647))
28 assert(isinstance(ret, int))
29 return ret