(&mut self, func: &Function, flags: FunctionFlags)
| 2891 | } |
| 2892 | |
| 2893 | fn generate_function_trait_sig(&mut self, func: &Function, flags: FunctionFlags) { |
| 2894 | let wt = self.generator.wasmtime_path(); |
| 2895 | self.rustdoc(&func.docs); |
| 2896 | |
| 2897 | self.push_str("fn "); |
| 2898 | self.push_str(&rust_function_name(func)); |
| 2899 | if flags.contains(FunctionFlags::STORE | FunctionFlags::ASYNC) { |
| 2900 | uwrite!(self.src, "(accessor: &{wt}::component::Accessor<T, Self>, "); |
| 2901 | } else if flags.contains(FunctionFlags::STORE) { |
| 2902 | uwrite!(self.src, "(host: {wt}::component::Access<T, Self>, "); |
| 2903 | } else { |
| 2904 | self.push_str("(&mut self, "); |
| 2905 | } |
| 2906 | if let Some(id) = &self.named_import_id { |
| 2907 | uwrite!(self.src, "id: {id}, "); |
| 2908 | } |
| 2909 | self.generate_function_params(func); |
| 2910 | self.push_str(")"); |
| 2911 | self.push_str(" -> "); |
| 2912 | |
| 2913 | if flags.contains(FunctionFlags::ASYNC) { |
| 2914 | uwrite!(self.src, "impl ::core::future::Future<Output = "); |
| 2915 | } |
| 2916 | |
| 2917 | self.all_func_flags |= flags; |
| 2918 | self.generate_function_result(func, flags); |
| 2919 | |
| 2920 | if flags.contains(FunctionFlags::ASYNC) { |
| 2921 | self.push_str("> + Send"); |
| 2922 | } |
| 2923 | } |
| 2924 | |
| 2925 | fn generate_function_params(&mut self, func: &Function) { |
| 2926 | for param in func.params.iter() { |
no test coverage detected