Something like this:
use quote::quote;
use syn::parse::Parser;
use syn::{Field, Fields, Variant};
fn f(variant: &mut Variant) {
match &mut variant.fields {
Fields::Named(fields) => fields
.named
.push(Field::parse_named.parse2(quote! { pub a: u32 }).unwrap()),
_ => {}
}
}