in src/descriptors/enum_desc.rs [12:33]
fn generate_serializer(&self) -> proc_macro2::TokenStream {
let mut versioned_serializers = proc_macro2::TokenStream::new();
for i in 1..=self.version {
let mut versioned_serializer = proc_macro2::TokenStream::new();
for field in &self.fields {
versioned_serializer.extend(field.generate_serializer(i));
}
// Generate the match arm for version `i` serializer.
versioned_serializers.extend(quote! {
#i => {
match self {
#versioned_serializer
}
}
});
}
versioned_serializers
}