Coverage for tests/codegen/generated/export_resources/exports/my_interface_name.py: 51%

37 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-02-20 16:25 +0000

1from ..intrinsics import _decode_utf8, _encode_utf8, _load 

2import ctypes 

3from typing import Protocol, Type 

4import wasmtime 

5 

6from typing import TYPE_CHECKING 

7if TYPE_CHECKING: 

8 from .. import Root 

9 

10class DemoResourceClass(Protocol): 

11 def __init__(self, caller: wasmtime.Store, name: str) -> None: ... 

12 def greet(self, caller: wasmtime.Store, greeting: str) -> str: ... 

13 

14 

15class MyInterfaceName: 

16 component: 'Root' 

17 

18 def __init__(self, component: 'Root') -> None: 

19 self.component = component 

20 self.DemoResourceClass = _create_demo_resource_class(component) 

21 

22 

23def _create_demo_resource_class(component: 'Root') -> Type[DemoResourceClass]: 

24 class _DemoResourceClass: 

25 def __init__(self, caller: wasmtime.Store, name: str) -> None: 

26 self.component = component 

27 ptr, len0 = _encode_utf8(name, self.component._realloc0, self.component._core_memory0, caller) 

28 ret = self.component.lift_callee0(caller, ptr, len0) 

29 assert(isinstance(ret, int)) 

30 entry = self.component._handle_remove_0(ret) 

31 self._rep = entry[0] 

32 def greet(self, caller: wasmtime.Store, greeting: str) -> str: 

33 rep = self._rep 

34 ptr, len0 = _encode_utf8(greeting, self.component._realloc0, self.component._core_memory0, caller) 

35 ret = self.component.lift_callee1(caller, rep, ptr, len0) 

36 assert(isinstance(ret, int)) 

37 load = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 0) 

38 load1 = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 4) 

39 ptr2 = load 

40 len3 = load1 

41 list = _decode_utf8(self.component._core_memory0, caller, ptr2, len3) 

42 tmp = list 

43 return tmp 

44 return _DemoResourceClass