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

1from .exports import for_ 

2from .imports import RootImports, false 

3from .intrinsics import _clamp 

4import importlib_resources 

5import pathlib 

6import wasmtime 

7 

8class Root: 

9 

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)