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

1from .imports import RootImports 

2from .intrinsics import _clamp 

3import importlib_resources 

4import pathlib 

5import wasmtime 

6 

7class Root: 

8 

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