restructuring

This commit is contained in:
nora 2022-02-20 14:59:54 +01:00
parent ed4a107c44
commit 9b48dec533
12 changed files with 1988 additions and 1586 deletions

View file

@ -11,40 +11,37 @@ use super::*;
"
);
impl_random("Class", || {
impl_random("Method", || {
let class_lens = amqp.classes.len();
println!(" match rng.gen_range(0u32..{class_lens}) {{");
for (i, class) in amqp.classes.iter().enumerate() {
let class_name = class.name.to_upper_camel_case();
println!(" {i} => Class::{class_name}({class_name}::random(rng)),");
}
println!(
" _ => unreachable!(),
}}"
);
});
println!(" {i} => {{");
for class in &amqp.classes {
let class_name = class.name.to_upper_camel_case();
impl_random(&class_name, || {
let method_len = class.methods.len();
println!(" match rng.gen_range(0u32..{method_len}) {{");
println!(" match rng.gen_range(0u32..{method_len}) {{");
for (i, method) in class.methods.iter().enumerate() {
let method_name = method.name.to_upper_camel_case();
println!(" {i} => {class_name}::{method_name} {{");
println!(" {i} => Method::{class_name}{method_name} {{");
for field in &method.fields {
let field_name = snake_case(&field.name);
println!(" {field_name}: RandomMethod::random(rng),");
println!(" {field_name}: RandomMethod::random(rng),");
}
println!(" }},");
println!(" }},");
}
println!(
" _ => unreachable!(),
}}"
" _ => unreachable!(),
}}"
);
});
}
println!(" }}");
}
println!(
" _ => unreachable!(),
}}"
);
});
println!("}}");
}