in dubbo-build/src/prost.rs [158:186]
fn finalize(&mut self, buf: &mut String) {
if self.builder.build_client && !self.clients.is_empty() {
let clients = &self.clients;
let client_services = quote::quote! {
#clients
};
let ast: syn::File = syn::parse2(client_services).expect("invalid tokenstream");
let code = prettyplease::unparse(&ast);
buf.push_str(&code);
self.clients = TokenStream::default();
}
if self.builder.build_server && !self.servers.is_empty() {
let servers = &self.servers;
let server_services = quote::quote! {
#servers
};
let ast: syn::File = syn::parse2(server_services).expect("invalid tokenstream");
let code = prettyplease::unparse(&ast);
buf.push_str(&code);
self.servers = TokenStream::default();
}
}