MCPcopy Create free account
hub / github.com/apache/fory / gen_write_variant_fields

Function gen_write_variant_fields

rust/fory-derive/src/object/derive_enum.rs:63–78  ·  view source on GitHub ↗
(
    source_fields: &[SourceField<'_>],
    field_idents: &[Ident],
)

Source from the content-addressed store, hash-verified

61}
62
63fn gen_write_variant_fields(
64 source_fields: &[SourceField<'_>],
65 field_idents: &[Ident],
66) -> Vec<TokenStream> {
67 match build_bindings(source_fields) {
68 Ok(bindings) => bindings
69 .iter()
70 .zip(field_idents.iter())
71 .filter_map(|(binding, ident)| match binding {
72 FieldBinding::Codec(binding) => Some(binding.write_value_field(quote! { #ident })),
73 FieldBinding::Skipped(_) => None,
74 })
75 .collect(),
76 Err(err) => vec![err.to_compile_error()],
77 }
78}
79
80fn gen_write_variant_elements(
81 source_fields: &[SourceField<'_>],

Callers 1

rust_variant_branchesFunction · 0.85

Calls 3

build_bindingsFunction · 0.85
SomeFunction · 0.85
write_value_fieldMethod · 0.80

Tested by

no test coverage detected