MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / make_echo_component

Function make_echo_component

tests/all/component_model.rs:192–205  ·  view source on GitHub ↗
(type_definition: &str, type_size: u32)

Source from the content-addressed store, hash-verified

190struct Param(Type, Option<usize>);
191
192fn make_echo_component(type_definition: &str, type_size: u32) -> String {
193 let mut offset = 0;
194 make_echo_component_with_params(
195 type_definition,
196 &iter::repeat(Type::I32)
197 .map(|ty| {
198 let param = Param(ty, Some(offset));
199 offset += 4;
200 param
201 })
202 .take(usize::try_from(type_size).unwrap() / 4)
203 .collect::<Vec<_>>(),
204 )
205}
206
207fn make_echo_component_with_params(type_definition: &str, params: &[Param]) -> String {
208 let func = if params.len() == 0 {

Callers 12

stringsFunction · 0.85
listsFunction · 0.85
mapsFunction · 0.85
maps_complex_typesFunction · 0.85
maps_duplicate_keysFunction · 0.85
maps_all_primitive_typesFunction · 0.85
maps_alignmentFunction · 0.85
maps_largeFunction · 0.85
record_deriveFunction · 0.85
variant_deriveFunction · 0.85
enum_deriveFunction · 0.85
flagsFunction · 0.85

Calls 6

ParamClass · 0.85
repeatFunction · 0.50
takeMethod · 0.45
mapMethod · 0.45
unwrapMethod · 0.45

Tested by 12

stringsFunction · 0.68
listsFunction · 0.68
mapsFunction · 0.68
maps_complex_typesFunction · 0.68
maps_duplicate_keysFunction · 0.68
maps_all_primitive_typesFunction · 0.68
maps_alignmentFunction · 0.68
maps_largeFunction · 0.68
record_deriveFunction · 0.68
variant_deriveFunction · 0.68
enum_deriveFunction · 0.68
flagsFunction · 0.68